From: Oliver Neukum <oneukum@suse.de>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Pavel Machek <pavel@suse.cz>,
linux-pm@lists.linux-foundation.org,
James.Bottomley@hansenpartnership.com,
Linux-pm mailing list <linux-pm@lists.osdl.org>,
kernel list <linux-kernel@vger.kernel.org>,
teheo@novell.com
Subject: Re: [linux-pm] Power management for SCSI
Date: Mon, 25 Aug 2008 19:34:02 +0200 [thread overview]
Message-ID: <200808251934.03569.oneukum@suse.de> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0808251152030.6639-100000@iolanthe.rowland.org>
Am Montag 25 August 2008 18:18:19 schrieb Alan Stern:
> On Mon, 25 Aug 2008, Oliver Neukum wrote:
> > There's some truth to that. Unfortunately the transport does not know
> > whether a device or link may be suspended. Take the case of a CD playing
> > sound. The transport may know what the consequences of suspending
> > a link will be to the devices, but only the devices know whether the
> > consequences are acceptable.
>
> Even the device (or more properly, the driver) might not know! In your
> example the driver might realize that playing had been started, but it
> probably wouldn't know when the playing had ended.
There is that possibility.
> That's not true at all. Maybe the name is specific to USB, but the
> concept isn't. Notice how we have power/wakeup files in the sysfs
> directory for every device, even non-USB devices? Requesting a
> low-power to high-power transition is a generic operation.
True. Let's say that we have to deal with busses incapable of supporting it.
> > If you are writing for
> > a generic system the question is indeed whether devices may want
> > to talk to the host and whether they can.
> > It seems to me that the ULD will know whether its devices will need
> > to talk to the CPU.
>
> In general, the link or transport class will know whether it is
> possible for a device to initiate communication with the CPU. If it is
Yes.
> possible then the link would probably want to have remote wakeup
> enabled before autosuspending, even if none of the devices currently
> attached actually wants to use it.
That supposes it doesn't matter in terms of power use. Is that true?
> So sd.c might, in theory, want to respond in two different ways to an
> autosuspend request:
>
> (A) Drain the cache,
>
> (B) Drain the cache and spin down the drive.
(C) Do nothing
(D) Refuse (i.e. the user has opened a block device and used a vendor
specific command)
> How does it know which to do? Ask the transport class for help
> choosing?
I see no other way.
> (A) would leave us in an awkward "half-suspended" state. Is the device
> suspended or not? It is, in the sense that now the link can safely be
> suspended. But it isn't, in the sense that a system sleep would still
> require the drive to be spun down.
>
> It's kind of like the state we have following a PMSG_FREEZE --
> quiescent but not suspended. Somehow this extra state needs to be
> incorporated into the autosuspend framework.
Why? Unless the device can be skipped for purposes of autosuspend and
system sleep, isn't it active?
Regards
Oliver
next prev parent reply other threads:[~2008-08-25 17:34 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-13 9:50 Power management for SCSI Pavel Machek
2008-08-13 14:31 ` Alan Stern
2008-08-13 14:31 ` Alan Stern
2008-08-13 14:47 ` Oliver Neukum
2008-08-13 14:59 ` Alan Stern
2008-08-13 14:59 ` Alan Stern
2008-08-13 15:21 ` Oliver Neukum
2008-08-13 15:44 ` Alan Stern
2008-08-13 15:44 ` Alan Stern
2008-08-13 16:14 ` Stefan Richter
2008-08-13 16:23 ` Alan Stern
2008-08-13 16:23 ` Alan Stern
2008-08-13 16:21 ` [linux-pm] " Oliver Neukum
2008-08-13 19:34 ` Alan Stern
2008-08-13 19:34 ` Alan Stern
2008-08-14 6:08 ` Oliver Neukum
2008-08-14 15:40 ` Alan Stern
2008-08-14 15:40 ` Alan Stern
2008-08-14 13:50 ` Pavel Machek
2008-08-14 14:08 ` Oliver Neukum
2008-08-14 15:47 ` Alan Stern
2008-08-14 15:47 ` Alan Stern
2008-08-14 21:43 ` Oliver Neukum
2008-08-14 22:25 ` Alan Stern
2008-08-14 22:25 ` Alan Stern
2008-08-15 7:16 ` Oliver Neukum
2008-08-15 15:25 ` Alan Stern
2008-08-15 15:25 ` Alan Stern
2008-08-15 15:56 ` Oliver Neukum
2008-08-16 5:24 ` Greg KH
2008-08-19 13:33 ` [linux-pm] " Oliver Neukum
2008-08-19 15:28 ` Alan Stern
2008-08-19 15:28 ` Alan Stern
2008-08-19 23:22 ` Stefan Richter
2008-08-22 10:52 ` Pavel Machek
2008-08-22 22:14 ` Alan Stern
2008-08-22 22:14 ` Alan Stern
2008-08-25 12:50 ` Oliver Neukum
2008-08-25 14:45 ` Alan Stern
2008-08-25 14:45 ` Alan Stern
2008-08-25 15:05 ` Oliver Neukum
2008-08-25 16:18 ` Alan Stern
2008-08-25 16:18 ` Alan Stern
2008-08-25 17:34 ` Oliver Neukum [this message]
2008-08-25 18:39 ` Alan Stern
2008-08-25 18:39 ` Alan Stern
2008-08-13 15:24 ` Oliver Neukum
2008-08-13 15:44 ` Stefan Richter
2008-08-13 16:25 ` Oliver Neukum
2008-08-13 19:37 ` Alan Stern
2008-08-13 19:37 ` Alan Stern
2008-08-13 19:42 ` James Bottomley
2008-08-13 20:16 ` Alan Stern
2008-08-13 20:16 ` Alan Stern
2008-08-13 20:03 ` Leisner, Martin
2008-08-13 20:03 ` [linux-pm] " Leisner, Martin
2008-08-13 20:38 ` Alan Stern
2008-08-13 20:38 ` Alan Stern
2008-08-19 21:08 ` Leisner, Martin
2008-08-19 21:08 ` Leisner, Martin
2008-08-13 15:46 ` Alan Stern
2008-08-13 15:46 ` Alan Stern
2008-08-14 13:08 ` Pavel Machek
2008-08-14 15:56 ` Pavel Machek
2008-08-14 22:11 ` Stefan Richter
2008-08-19 7:38 ` Pavel Machek
2008-08-19 7:50 ` [linux-pm] " Oliver Neukum
2008-08-19 14:32 ` Alan Stern
2008-08-19 14:32 ` Alan Stern
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=200808251934.03569.oneukum@suse.de \
--to=oneukum@suse.de \
--cc=James.Bottomley@hansenpartnership.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=linux-pm@lists.osdl.org \
--cc=pavel@suse.cz \
--cc=stern@rowland.harvard.edu \
--cc=teheo@novell.com \
/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.