Subject: putting disks to sleep
To: None <firstname.lastname@example.org>
From: Michael <email@example.com>
Date: 04/14/2005 08:22:14
I've got the following problem - the disk in my SPARCbook produces a lot of heat so I'd want it to shut down after a couple of minutes of inactivity. It's a 6GB Toshiba 2.5" IDE drive sitting on an IDE-SCSI converter and the NetBSD kernel sees it as a normal SCSI disk, the only oddity is that it can't read the disk geometry but it gets the size right so things work none the less. Many IDE drives have an auto-sleep feature, apparently it needs to be activated somehow since this disk here never stops. I can put it to sleep using scsictl sd0 stop but it will wake up again after a couple of seconds, I guess because the cache flusher keeps accessing it.
So - is there any work underway to put disks to sleep and keep the cache flusher from bugging it? The kernel contains some apm emulation to access various sensors, battery data, power source and so on, but I couldn't find anything regarding disks. The ioctl()s to suspend the unit don't do anything, maybe it would be desirable to add some sort of pseudo-suspend that puts at least the disk(s) to sleep?
And something else - the SPARCbook contains circuitry to slow down the CPU clock, Solaris uses it to keep the unit cool but the 3GX technical manual doesn't even mention it - has anyone figured out how to use it?