Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide
translations



Rockbox mail archive

Subject: Red led dead and disk spindown

Red led dead and disk spindown

From: Mike Holden <rockbox_at_mikeholden.uklinux.net>
Date: Wed, 30 Apr 2003 10:12:07 +0100 (BST)

One of the issues with red led dead is that in some situations, the disk
can spin down before the read operation has completed, which makes a bad
situation a lot worse. This is not the only issue, but is certainly one
aspect of the problem. I have found that increasing the disk spindown
setting to a larger value, like 30 seconds helps, but this then makes
battery life more of an issue.

At http://www.mikeholden.org/~rockbox/patches/red.diff is a patch which
resolves this specific issue. It uses a variable, spindown_locks, which is
initialied at 0, and is incremented each time we enter a disk operation,
and decremented as we leave. As we leave, it also sets last_disk_activity
= current_tick so that the spindown then occurs according to the user's
preferred setting. The spindown will only occur if spindown_locks == 0,
otherwise it skips the spindown.

Using an integer count instead of a boolean flag allows for the
possibility that there may be more than one read and/or write operation
going on at the same time. I don't know if this situation ever occurs, but
it was as easy to code for that possibility than to ignore it!

I have tested this on FM, as usual.
-- 
Mike Holden
Received on 2003-04-30

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy