public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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