mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Arjan van de Ven" <arjan@linux.intel.com>
Cc: greg@kroah.com, linux-pci@atrey.karlin.mff.cuni.cz,
	linux-kernel@vger.kernel.org, airlied@linux.ie,
	pjones@redhat.com, akpm@osdl.org
Subject: Re: Add a "enable" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access
Date: Tue, 2 May 2006 15:00:29 -0400	[thread overview]
Message-ID: <9e4733910605021200y6333a67sd2ff685f666cc6f9@mail.gmail.com> (raw)
In-Reply-To: <1146594457.32045.91.camel@laptopd505.fenrus.org>

On 5/2/06, Arjan van de Ven <arjan@linux.intel.com> wrote:
> you're very selective in what you read and only think about X.
> There's many other reasons to enable/disable devices post boot.
> Having a driver just to call pci_enable_device() is silly; and
> there are various scenarios you may want. Userland suspend/resume is
> only one of those, posting video cards is one, chip health monitoring is
> one, etc etc etc. Don't let your lack of imagination ruin things.

Allowing user space control of a device without a mechanism to assign
ownership of the device is a very bad idea. There is no way for one
user space program to tell if another is messing with the device.
There has to be a mechanism like opening the device to indicate which
process owns the device and is allowed to set their state into it (for
states that can conflict, enabling the device is definitely a state
that can conflict).

This attribute will also cause problem with existing drivers. Almost
every driver in the kernel will GPF if you disable the hardware on it
while the driver is loaded and active.  This problem has been the
result of numerous OOPses when X decides to disable hardware that
fbdev is using. I also can not see how user space suspend/resume can
disable PCI hardware without coordinating with an active device
driver.

The rule needs to be that if you want to use a device it has to have a
driver. Anything else results in chaos. It doesn't matter if these
drivers have a tiny API, their purpose is to control ownership of the
hardware.

You may call this silly but it is a real pain to spend hours debugging
code only to discover that it failed because some other app unknown to
you altered the state of the hardware while you were using it.

--
Jon Smirl
jonsmirl@gmail.com

  reply	other threads:[~2006-05-02 19:00 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-29  8:46 Arjan van de Ven
2006-04-29  8:51 ` Andrew Morton
2006-04-29  8:59   ` Arjan van de Ven
2006-04-29  9:04     ` Dave Airlie
2006-05-02 16:14       ` Bjorn Helgaas
2006-05-02 16:21         ` Greg KH
2006-05-02 16:51           ` Jesse Barnes
2006-05-04 19:09       ` Bjorn Helgaas
2006-05-04 19:11         ` Arjan van de Ven
2006-05-04 19:26           ` Bjorn Helgaas
2006-05-04 19:42             ` Matthew Garrett
2006-05-04 20:40               ` Jon Smirl
2006-05-04 21:05                 ` Peter Jones
2006-05-04 21:17                   ` Martin Mares
2006-05-04 21:29                     ` Peter Jones
2006-05-04 21:37                       ` Martin Mares
2006-05-04 21:38                       ` Jon Smirl
2006-05-04 23:22                         ` Peter Jones
2006-05-05 19:20                           ` Ian Romanick
2006-05-05 20:14                             ` Jon Smirl
2006-05-05 20:26                               ` Greg KH
2006-05-05 20:35                                 ` Jon Smirl
2006-05-05 20:43                                   ` Jon Smirl
2006-05-05 21:10                                     ` Greg KH
2006-05-05 21:06                                   ` Greg KH
2006-05-05 21:15                                     ` Jon Smirl
2006-05-05 22:27                                       ` Greg KH
2006-05-06  0:05                                         ` Jon Smirl
2006-05-06  1:57                                           ` Dave Airlie
2006-05-06  3:39                                             ` Jon Smirl
2006-05-06 12:42                                               ` Krzysztof Halasa
2006-05-06 13:08                                                 ` Jon Smirl
2006-05-06 18:10                                                   ` Krzysztof Halasa
2006-05-06 18:24                                                     ` Jon Smirl
2006-05-06 23:16                                                       ` Krzysztof Halasa
2006-05-07  5:56                                                         ` Kyle Moffett
2006-05-07 12:05                                                           ` Krzysztof Halasa
2006-05-07 19:07                                                             ` Kyle Moffett
2006-05-08  0:03                                                               ` Krzysztof Halasa
2006-05-07 13:12                                             ` Pavel Machek
2006-05-08 14:26                                               ` Kyle Moffett
2006-05-08 14:54                                                 ` Arjan van de Ven
2006-05-08  4:06                                           ` Dave Airlie
2006-05-08  5:27                                             ` Jon Smirl
2006-05-07  8:54                                 ` Adam Belay
2006-05-14  0:29                       ` Benjamin Herrenschmidt
2006-05-14  0:56                         ` Jon Smirl
2006-05-14 23:57                           ` Benjamin Herrenschmidt
2006-05-15  0:14                             ` Jon Smirl
2006-05-14  0:57                         ` Patrick McFarland
2006-05-14  1:11                           ` Jon Smirl
2006-05-04 21:18                   ` Jon Smirl
2006-05-04 21:38                     ` Peter Jones
2006-05-04 21:48                       ` Jon Smirl
2006-05-04 21:57                         ` Peter Jones
2006-05-04 22:05                           ` Jon Smirl
2006-05-04 19:49             ` Arjan van de Ven
2006-05-15  2:10     ` Eric W. Biederman
2006-05-02 16:38 ` Jon Smirl
2006-05-02 16:45   ` Arjan van de Ven
2006-05-02 16:59     ` Jon Smirl
2006-05-02 17:00       ` Arjan van de Ven
2006-05-02 17:13         ` Jon Smirl
2006-05-02 18:27           ` Arjan van de Ven
2006-05-02 19:00             ` Jon Smirl [this message]
2006-05-02 19:29               ` Peter Jones
2006-05-02 21:40               ` Dave Airlie
2006-05-02 21:52                 ` Jon Smirl
2006-05-02 23:36                   ` Dave Airlie
2006-05-03  0:19                   ` Matthew Wilcox
2006-05-03  0:26                     ` Valdis.Kletnieks
2006-05-03  1:24                     ` Jon Smirl
2006-05-03  1:30                       ` Dave Airlie
2006-05-03  6:02                   ` Arjan van de Ven
2006-05-03 13:23                     ` Jon Smirl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9e4733910605021200y6333a67sd2ff685f666cc6f9@mail.gmail.com \
    --to=jonsmirl@gmail.com \
    --cc=airlied@linux.ie \
    --cc=akpm@osdl.org \
    --cc=arjan@linux.intel.com \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    --cc=pjones@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®