Thread (24 messages) 24 messages, 5 authors, 2012-09-17

Re: [PATCH 1/2] scsi: sd: set ready_to_power_off for scsi disk

From: Aaron Lu <hidden>
Date: 2012-09-13 08:49:30
Also in: linux-acpi, linux-scsi

On 09/13/2012 04:37 PM, James Bottomley wrote:
On Thu, 2012-09-13 at 16:23 +0800, Aaron Lu wrote:
quoted
On 09/13/2012 04:14 PM, James Bottomley wrote:
quoted
On Thu, 2012-09-13 at 15:40 +0800, Aaron Lu wrote:
quoted
The ready_to_power_off flag is used to give indication to ATA layer
if this device's power can be removed when runtime suspended.

This flag is determined by individual SCSI driver like sr, sd.

This flag is introduced to support zero power ODD. When ODD
is runtime suspended, it may not be OK to remove its power.

But for disk, it is always OK to be powered off, so set this flag.
It is? I may have missed this, but where do you flush the cache of write
back cache devices you're about to power off?
I suppose that is handled in sd_suspend callback, the power off happens
after a device is runtime suspended.
Well that would mean something is wrong somewhere:  For runtime power
management using idle timers and forced standby, there's no need to
The current mechanism for scsi disk runtime pm is based on open/close.
If there is some process opened this block device, it will be in active
state; only when all opened session exited, it will enter runtime
suspend state.
flush the cache (if the drive goes into standby on its own as a result
of an idle timeout, the cache will never flush).  The cache needs to
flush before we power off the device: that's before the system goes into
S3, or now before you power it off at runtime.  Flushing the cache on
runtime transitions to standby will likely cause performance problems
since that happens quite often.
As explained above, it didn't happen that often, especially for user who
has only one disk, the disk will be mounted, which makes it never be
able to enter runtime suspend state.

Thanks,
Aaron
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help