lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200808251934.03569.oneukum@suse.de>
Date:	Mon, 25 Aug 2008 19:34:02 +0200
From:	Oliver Neukum <oneukum@...e.de>
To:	Alan Stern <stern@...land.harvard.edu>
Cc:	Pavel Machek <pavel@...e.cz>, linux-pm@...ts.linux-foundation.org,
	James.Bottomley@...senpartnership.com,
	"Linux-pm mailing list" <linux-pm@...ts.osdl.org>,
	kernel list <linux-kernel@...r.kernel.org>, teheo@...ell.com
Subject: Re: [linux-pm] Power management for SCSI

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ