Re: Power management for SCSI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

	Regards
		Oliver
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux