From: David Brownell <david-b@pacbell.net>
To: Oliver Neukum <oliver@neukum.org>
Cc: Pavel Machek <pavel@ucw.cz>,
Alan Stern <stern@rowland.harvard.edu>,
linux-usb-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org
Subject: Re: [linux-usb-devel] error to be returned while suspended
Date: Sat, 7 Oct 2006 17:03:23 -0700 [thread overview]
Message-ID: <200610071703.24599.david-b@pacbell.net> (raw)
In-Reply-To: <200610071916.27315.oliver@neukum.org>
On Saturday 07 October 2006 10:16 am, Oliver Neukum wrote:
> > > I dare say that the commonest scenario involving USB is a laptop with
> > > an input device attached. Input devices are for practical purposes always
> > > opened. A simple resume upon open and suspend upon close is useless.
That is, the standard model is useless? I think you've made
a few strange leaps of logic there ... care to fill in those
gaps and explain just _why_ that standard model is "useless"???
Recall by the way that the autosuspend stuff kicked off with
discussions about exactly how to make sure that Linux could
get the power savings inherent in suspending USB root hubs,
with remote wakeup enabling use of the mouse on that keyboard.
(I remember Len Brown talking to me a few years back about how
that was the "last" 2W per controller easily available to save
power on Centrino laptops ... now we're almost ready to claim
that savings.)
> > Okay, but you can simply do autosuspend with remote wakeup completely
> > inside input driver. You do ot need it to be controlled from X... at
> > most you need one variable ('autosuspend_inactivity_timeout')
> > controlled from userland.
> >
> > That's what we already do for hdd spindown... you simply tell disk to
> > aitospindown after X seconds of inactivity.
>
> The firmware in the drive supplies this function. It's hardly by choice
> that it is made available.
Sure it is. Nobody had to write that code. Of course, Pavel was
skipping some details too ... "laptop_mode" kicks some other system
controls so that the disk drive isn't accessed so much.
> The power management functions without
> timeout are also exported. For other power control features like
> cpu frequency considerable effort has been made to export them to
> user space.
Yes, and many of us use the much lighter weight kernel based control
models by preference. Why waste hundreds of Kbytes of userspace for
a daemon when a few hundred bytes of kernel code can implement a
better and more reactive kernel policy for cpufreq?
> A simple timeout solution has drawbacks.
Plus lots of advantages, including the not-to-be-underrated simplicity.
> - there's no guarantee the user wants wakeup (think laptop on crowded table)
In which case the /sys/devices/.../power/wakeup flag can be
marked as disabled. No wakeup ... but of course, no power
savings either. (One can still unplug the mouse...)
> - you want to suspend immediately when you blank the screen (or switch to
> a text console)
Unrelated to USB or any other specific subsystem; the system
suspends by "echo mem > /sys/power/state" regardless. (That is,
once the bugs in ACPI, and sometimes drivers, get fixed.)
> - you want to consider all devices' activity. I am not pleased if my mouse
> becomes less responsive just because I used only the keyboard for a
> few minutes. Coordinating this inside the driver is hard as some input
> devices might well be not usb (eg. bluetooth mouse, usb tablet)
The reasons X11 becomes unresponsive have very little to do with USB
or autosuspend; happens all the time with PS2 mice, trackpads, etc.
Again, those issues are unrelated to USB, or to the API you said you
wanted to see.
next prev parent reply other threads:[~2006-10-08 0:03 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-03 11:23 error to be returned while suspended Oliver Neukum
2006-10-03 12:51 ` linux-os (Dick Johnson)
2006-10-03 13:02 ` Oliver Neukum
2006-10-03 14:17 ` linux-os (Dick Johnson)
2006-10-04 11:19 ` Pavel Machek
2006-10-04 16:34 ` Oliver Neukum
2006-10-04 22:44 ` Pavel Machek
2006-10-05 7:07 ` Oliver Neukum
2006-10-05 8:57 ` Pavel Machek
2006-10-05 16:21 ` [linux-usb-devel] " Alan Stern
2006-10-05 16:35 ` Oliver Neukum
2006-10-05 18:24 ` Alan Stern
2006-10-05 18:43 ` Oliver Neukum
2006-10-05 20:48 ` Alan Stern
2006-10-05 21:25 ` Oliver Neukum
2006-10-05 21:45 ` Alan Stern
2006-10-06 7:21 ` Oliver Neukum
2006-10-06 17:48 ` Alan Stern
2006-10-06 11:25 ` Pavel Machek
2006-10-06 2:47 ` David Brownell
2006-10-06 7:04 ` Oliver Neukum
2006-10-06 11:27 ` Pavel Machek
2006-10-06 14:09 ` Oliver Neukum
2006-10-06 21:10 ` David Brownell
2006-10-07 10:49 ` Oliver Neukum
2006-10-07 11:08 ` Pavel Machek
2006-10-07 17:16 ` Oliver Neukum
2006-10-08 0:03 ` David Brownell [this message]
2006-10-08 2:03 ` Alan Stern
2006-10-08 7:07 ` Oliver Neukum
2006-10-08 14:27 ` Alan Stern
2006-10-08 19:36 ` Pavel Machek
2006-10-08 19:57 ` Oliver Neukum
2006-10-08 21:06 ` Pavel Machek
2006-10-08 6:40 ` Oliver Neukum
2006-10-09 15:56 ` David Brownell
2006-10-08 6:51 ` Oliver Neukum
2006-10-08 7:14 ` Oliver Neukum
2006-10-08 13:24 ` Oliver Neukum
2006-10-08 14:32 ` Alan Stern
2006-10-08 19:41 ` /sys/.../power/state " Pavel Machek
2006-10-08 19:19 ` Pavel Machek
[not found] ` <200610080838.03488.oliver@neukum.org>
[not found] ` <200610080020.49158.david-b@pacbell.net>
2006-10-08 8:39 ` Oliver Neukum
2006-10-08 14:16 ` Dmitry Torokhov
2006-10-06 11:23 ` Pavel Machek
2006-10-06 11:21 ` 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=200610071703.24599.david-b@pacbell.net \
--to=david-b@pacbell.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=oliver@neukum.org \
--cc=pavel@ucw.cz \
--cc=stern@rowland.harvard.edu \
/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