[lkml]   [2008]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [linux-pm] Power management for SCSI
Am Dienstag 19 August 2008 17:28:28 schrieb Alan Stern:
> On Tue, 19 Aug 2008, Oliver Neukum wrote:

> > I suggest by talking to the HLDs.
> Why would the HLD (= ULD?) know?
> For example, consider a USB disk drive. How is sd.c (the HLD) supposed
> to know that it's not safe to suspend the USB link without spinning
> down the drive? Or consider a traditional SCSI parallel interface

The HLD is responsible for suspending the disk in case the system is
suspended. The HLD must know how to safely suspend a device. It may be
overcautious, but it'll work.

> > It seems to me that abstractly talking there are three criteria for suspension
> >
> > - the cpu needs to talk to the device now
> I.e., whether the idle timeout has expired, right?
> > - the device may need to talk to the CPU at unpredictable times
> I.e, whether remote wakeup needs to be enabled, right?

I am talking about correctness for controllers. So remote wakeup may or may not
be available. Likewise the bus may be able to predict how long it'll be idle.

> > - suspending has side effects
> I'm not sure what you mean by that. Suspension always has side effects
> of one kind or another.

But not outside the controller. If you suspend the root hub of a usb bus,
you suspend everything on the bus. It's a feature of the hardware. Other
busses are different.

> There's nothing about my suspend framework to prevent a driver from
> autosuspending its device while the children are still active.
> Rather, the framework insists on notifications going the other way:
> The driver has to be told whenever one of its device's children is
> suspended or resumed.

That's the problem. You don't tell the children when the parent might want
to suspend.


 \ /
  Last update: 2008-08-25 14:51    [W:0.123 / U:1.164 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site