From: Matthew Garrett <mjg59@srcf.ucam.org>
To: David Brownell <david-b@pacbell.net>
Cc: Arjan van de Ven <arjan@infradead.org>,
linux-kernel@vger.kernel.org, gregkh@suse.de
Subject: Re: Changes to PM layer break userspace
Date: Wed, 20 Dec 2006 04:26:48 +0000 [thread overview]
Message-ID: <20061220042648.GA19814@srcf.ucam.org> (raw)
In-Reply-To: <200612191959.43019.david-b@pacbell.net>
On Tue, Dec 19, 2006 at 07:59:42PM -0800, David Brownell wrote:
> On Tuesday 19 December 2006 4:25 pm, Matthew Garrett wrote:
> > 1) feature-removal-schedule.txt says that it'll be removed in July 2007.
> > This isn't July 2007.
>
> Which is why the functionality is still there.
Merely broken in the majority of cases...
> > 2) The functionality was disabled in 2.6.19. The addition to
> > feature-removal-schedule.txt was in, uh, 2.6.19.
>
> Please respond to the technical explanation I provided, and stop
> referring to the functionality ** which is still there and works **
> as being disabled.
The breakage is that devices that are happy to suspend with enabled
interrupts can no longer be suspended from userspace. Refusing to
suspend a single device on the basis that some other driver on the bus
may, potentially, at some point require some suspend code to be run with
disabled interrupts is not a sensible choice. Especially since I can't
actually find a single driver in the kernel tree that currently uses
this functionality.
> I can't help it if that schedule.txt patch took until 2.6.19 to get
> upstream; ISTR it was available before 2.6.18 shipped. Maybe patches
> to that file should be accelerated, even into the stable series.
That would still not have provided anywhere near enough warning.
> One of the missing steps in Linus' formulation there is that not all
> interfaces are equivalent in terms of support guarantee. Bugs are
> interfaces, for example, and sometimes folk wrongly depend on them
> when they persist for a long time (like, cough, this one).
The existence of the power/state interface wasn't a bug - it was a
deliberate decision to add it. It's the only reason the
dpm_runtime_suspend() interface exists. It's perfectly reasonable to
refer to it as a flawed interface, or perhaps even a buggy one. But in
itself, it's clearly not a bug. And it's perfectly reasonable for
userland to depend on interfaces that are deliberately exposed by the
kernel.
> In contrast, the /sys/devices/.../power/state API has never had many
> users beyond developers trying to test their drivers (without taking
> the whole system into a low power state, which probably didn't work
> in any case), and has *always* been problematic. And the change you
> object to doesn't "break" anything fundamental, either. Everything
> still works.
It's used on every Ubuntu and Suse system, and the change means that
certain functionality no longer works - it's now impossible to prevent
my wireless hardware from drawing power when I'm not using it, for
example. If the WE power operations were deliberately disabled, then
that would also be a bug.
--
Matthew Garrett | mjg59@srcf.ucam.org
next prev parent reply other threads:[~2006-12-20 4:27 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-19 18:52 Changes to sysfs PM layer break userspace Matthew Garrett
2006-12-19 19:34 ` Arjan van de Ven
2006-12-19 19:44 ` Matthew Garrett
2006-12-19 20:03 ` Arjan van de Ven
2006-12-19 20:08 ` Matthew Garrett
2006-12-19 20:23 ` Arjan van de Ven
2006-12-19 20:32 ` Matthew Garrett
2006-12-19 20:55 ` Arjan van de Ven
2006-12-21 0:08 ` Kyle Moffett
2006-12-19 21:34 ` David Brownell
2006-12-20 0:25 ` Matthew Garrett
2006-12-20 3:59 ` Changes to " David Brownell
2006-12-20 4:26 ` Matthew Garrett [this message]
2006-12-20 5:14 ` David Brownell
2006-12-20 5:34 ` Greg KH
2006-12-20 5:52 ` Matthew Garrett
2006-12-20 7:50 ` Arjan van de Ven
2006-12-20 12:53 ` Network drivers that don't suspend on interface down Matthew Garrett
2006-12-20 13:38 ` Arjan van de Ven
2006-12-20 14:31 ` Matthew Garrett
2006-12-20 15:51 ` Arjan van de Ven
2006-12-20 22:49 ` Stephen Hemminger
2006-12-20 23:37 ` Rick Jones
2006-12-19 23:51 ` Stephen Hemminger
2006-12-21 0:11 ` Francois Romieu
2006-12-20 0:26 ` Stephen Hemminger
2006-12-21 11:18 ` Francois Romieu
2006-12-21 1:12 ` Matthew Garrett
2006-12-21 2:05 ` Michael Wu
2006-12-21 2:18 ` Matthew Garrett
2006-12-21 2:38 ` Daniel Drake
2006-12-21 2:45 ` Matthew Garrett
2006-12-21 3:08 ` Daniel Drake
2006-12-21 3:25 ` Matthew Garrett
2006-12-21 3:37 ` Dan Williams
2006-12-21 3:29 ` Dan Williams
2006-12-21 3:14 ` Dan Williams
2006-12-21 13:14 ` jamal
2006-12-21 2:29 ` Daniel Drake
2006-12-21 2:10 ` Jesse Brandeburg
2006-12-21 8:54 ` Arjan van de Ven
2006-12-22 1:03 ` Herbert Xu
2006-12-23 8:54 ` Pavel Machek
2006-12-20 15:27 ` Olivier Galibert
2006-12-20 15:34 ` Arjan van de Ven
2006-12-20 16:40 ` Olivier Galibert
2006-12-20 17:21 ` Arjan van de Ven
2006-12-20 20:40 ` Benny Amorsen
2006-12-20 21:49 ` Arjan van de Ven
2006-12-20 21:15 ` Stefan Rompf
2006-12-20 14:00 ` Jiri Benc
2006-12-20 18:12 ` Dan Williams
2006-12-21 1:15 ` Matthew Garrett
2006-12-21 1:57 ` Michael Wu
2006-12-21 2:20 ` Matthew Garrett
2006-12-21 3:02 ` Dan Williams
2006-12-21 3:06 ` Dan Williams
2006-12-21 3:14 ` Matthew Garrett
2006-12-21 3:32 ` Dan Williams
2006-12-21 13:19 ` Sven-Haegar Koch
2006-12-21 17:16 ` Dan Williams
2006-12-21 18:27 ` Valdis.Kletnieks
2006-12-22 1:25 ` Matt Domsch
2006-12-20 16:04 ` Maciej W. Rozycki
2006-12-22 21:09 ` Changes to PM layer break userspace Pavel Machek
2006-12-24 7:02 ` David Brownell
2006-12-28 13:31 ` Alan
2006-12-28 16:04 ` Arjan van de Ven
2006-12-29 5:27 ` David Brownell
2006-12-20 2:15 ` Changes to sysfs " Andrew Morton
2006-12-20 2:35 ` Randy Dunlap
2006-12-20 3:49 ` Andrew Morton
2006-12-20 3:29 ` David Brownell
2006-12-21 3:51 ` Andrew Morton
2006-12-21 4:56 ` David Brownell
2006-12-21 5:02 ` Andrew Morton
2006-12-21 7:05 ` David Brownell
2006-12-21 8:27 ` Arjan van de Ven
2006-12-22 20:44 ` Pavel Machek
2006-12-23 14:02 ` Stefan Seyfried
2006-12-19 21:22 ` David Brownell
2006-12-19 22:57 ` Matthew Garrett
2006-12-19 23:36 ` Changes to " David Brownell
2006-12-20 0:09 ` Matthew Garrett
2006-12-20 3:19 ` David Brownell
2006-12-20 3:43 ` Matthew Garrett
2006-12-20 4:15 ` David Brownell
2006-12-20 4:56 ` [PATCH 1/2] Fix /sys/device/.../power/state Matthew Garrett
2006-12-20 21:18 ` David Brownell
2006-12-21 1:29 ` Matthew Garrett
2006-12-21 3:04 ` David Brownell
2006-12-21 4:06 ` Matthew Garrett
2006-12-21 4:51 ` David Brownell
2007-01-25 5:00 ` [PATCH] Fix /sys/device/.../power/state regression Matthew Garrett
2007-01-26 19:59 ` Andrew Morton
2007-01-26 20:42 ` Greg KH
2007-01-27 1:26 ` Matthew Garrett
2007-01-27 17:19 ` Pavel Machek
2007-01-26 20:41 ` Greg KH
2007-01-26 21:56 ` David Brownell
2007-01-26 22:19 ` Greg KH
2007-01-26 23:15 ` Matthew Garrett
2007-01-27 0:42 ` David Brownell
2007-01-27 0:56 ` Andrew Morton
2007-01-27 2:40 ` David Brownell
2007-01-27 17:38 ` Pavel Machek
2007-01-27 22:42 ` Matthew Garrett
2007-01-31 10:34 ` Pavel Machek
2007-01-27 1:19 ` Matthew Garrett
2007-01-27 3:02 ` David Brownell
2007-01-29 17:36 ` Stephen Hemminger
2007-01-27 13:17 ` Pavel Machek
2007-01-30 18:43 ` Eric Piel
2007-01-30 18:47 ` Oliver Neukum
2007-01-30 19:01 ` Eric Piel
2007-01-31 10:55 ` Jiri Kosina
2007-01-31 11:03 ` Oliver Neukum
2006-12-20 4:56 ` [PATCH 2/2] Update feature-removal-schedule.txt Matthew Garrett
2006-12-22 20:47 ` Changes to PM layer break userspace Pavel Machek
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=20061220042648.GA19814@srcf.ucam.org \
--to=mjg59@srcf.ucam.org \
--cc=arjan@infradead.org \
--cc=david-b@pacbell.net \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
/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