Re: Disk spin down issue on shut down/suspend to disk

From: Al Boldi <hidden>
Date: 2007-08-08 18:58:31
Also in: lkml

Tejun Heo  wrote:
Mark Lord wrote:
quoted
Heh.. I haven't instrumented it yet, but I did discover a bit more about
it:

The Power-Off_Retract_Count incrmenents *only* when there's data in the
on-drive write-cache.  So if I haven't written anything significantly
large before suspending, then it often does NOT increment the retract
counter.

But if I copy a couple of multi-MB files around and then suspend (to
RAM), the retract count gets incremented.

So I've now just stuck "hdparm -F /dev/sda" into my suspend script,
and that cures the problem completely for me.  "-F" does a FLUSH_CACHE,
and requires a recent copy of hdparm.

Perhaps libata should also do a FLUSH_CACHE before any STANDBYNOW
command, prior to entering STR, which is what my script is currently now
doing..

I'll instrument libata and see what the current sequence is.
Hmmmm.. libata should issue FLUSH CACHE on STR too.  sd_suspend() and
sd_shutdown() are pretty similar after all.
IMHO, this is a mess because we are essentially trying to work around 
firmware bugs, which may only be solved by having the kernel load a 
user-supplied shutdown sequence, instead of hardcoding it into the kernel.


Thanks!

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