All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.