Re: 2.6.18-rc2, problem to wake up spinned down drive?

From: Tejun Heo
Date: Tue Aug 01 2006 - 12:14:19 EST


Harald Dunkel wrote:
Hi folks,

I tried to spin down my harddisk using hdparm, but when it is
supposed to spin up again, then it is blocked for quite some
time. dmesg says:

ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata1.00: (BMDMA stat 0x20)
ata1.00: tag 0 cmd 0xca Emask 0x4 stat 0x40 err 0x0 (timeout)
ata1: port is slow to respond, please be patient
ata1: port failed to respond (30 secs)
ata1: soft resetting port
ata1.00: configured for UDMA/133
ata1: EH complete
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back

The disk is a SAMSUNG SP1614C.

On another machine (with a SAMSUNG SP2504C inside) there is no
such problem: The disk is back after just a few seconds.

In standby mode, the drive's interface and state machines stay online and are supposed to spin up and process the command when it receives one. The above message is printed because an IO command hasn't finished in 30 secs meaning that it didn't wake up when it should have. The drive seems to act incorrectly.

Is there some trick to wake up the disk a little bit faster?

Can you try the following instead of hdparm?

echo 1 > /sys/bus/scsi/devices/1:0:0:0/power/state

It will make libata involved in putting the disk to sleep and waking it up, and, when waking, it will kick the drive in the ass by resetting the channel. Please try with the latest -rc kernel.

--
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/