From: David Brownell <david-b@pacbell.net>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Greg KH <gregkh@suse.de>, linux-kernel@vger.kernel.org, akpm@osdl.org
Subject: Re: [PATCH] Fix /sys/device/.../power/state regression
Date: Fri, 26 Jan 2007 16:42:56 -0800 [thread overview]
Message-ID: <200701261642.56896.david-b@pacbell.net> (raw)
In-Reply-To: <20070126231521.GA12370@srcf.ucam.org>
On Friday 26 January 2007 3:15 pm, Matthew Garrett wrote:
> On Fri, Jan 26, 2007 at 01:56:41PM -0800, David Brownell wrote:
>
> > I thought the resolution was that fixing a few of those drivers
> > should solve the problem Matthew needed resolved, and that in
> > the meanwhile "rmmod drivername" should suffice. There also seemed
> > to be agreement that power management for wireless devices needed
> > more work; there might need to be a state between "down/off" and
> > "configured and able to talk IP".
>
> It's certainly the case that fixing those drivers would result in a
> better long-term situation - however, nobody currently seems to have any
> interest in doing so...
And the way these things work, unfortunately, is that merging your patch
would ensure nobody ever gets such interest. Removing that "state" file
(and its bogus infrastructure) has already taken a few years too long.
> I'm not sure what you mean by using rmmod instead. Most drivers don't
> explicitly set the power state when unbinding, and I can't see anywhere
> in the generic PCI code that will do it.
There are broadly two things happening in a driver suspend()
method:
- One of them *always* happens on rmmod: stopping all driver
activity. That eliminates the dynamic power usage, which as
a rule is what consumes most of the power.
- And issuing a pci_set_power_state() call. That eliminates
some more power usage, but as a rule it's not as much.
Plus some drivers will also enable the device as system wakeup
source. That behaves poorly on PC Linux (ACPI doesn't handle it
well yet), but on more power-aware Linux systems it's important
as a way to let the system stay in low power states most of the
time, without sacrificing system response to external actions.
If you measure and find that setting the power state matters,
making those drivers do that on rmmod should be easy. (And IMO
it would be worth trying to make PCI use those states by default
for driverless devices. Different issue though.)
> As I've said before, I think it's unreasonable to cripple interfaces for
> (mostly) aesthetic reasons without ensuring that equivalent
> functionality already exists.
I don't recall anyone raising aesthetic concerns. And bug-equivalence
has never been a goal of Linux.
> This patch restores useful functionality
> without breaking the extra sanity checks that you've added. I appreciate
> that it's not an interface that you want to support in the long term
> (well, even the short term...),
You imply that it _was_ once supported, which is not true. Like any
other bug (in this case "design bug"), it was there and could be abused.
And like some other bugs, fixing it can trigger complaints from (ab)users.
It's been several years now that this interface has been well recognized as
trouble. Years in which all _other_ users went and did the Right Thing:
they stopped using it, or never started.
If you want sympathy for an application that took the time during which
that mechanism was getting phased out, and then decided to phase *IN* a
new use ... sorry, I'm not constitutionally able to give sympathy. I can
maybe offer sympathy that you didn't know it was being phased out (since
the decision to do that ISTR predated the "feature removal" schedule, with
its additional publicity), but not much more than that.
- Dave
next prev parent reply other threads:[~2007-01-27 0:43 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
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 [this message]
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=200701261642.56896.david-b@pacbell.net \
--to=david-b@pacbell.net \
--cc=akpm@osdl.org \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg59@srcf.ucam.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