Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: piixide write speed very slow - solved



On Thu, 10 Dec 2009, Thor Lancelot Simon wrote:
On Thu, Dec 10, 2009 at 04:34:41PM +0000, Stephen Borrill wrote:

Turns out that this was simply down to the write-cache being disabled
(OpenBSD explicitly forces the write-cache on). _Why_ the write-cache is
disabled is less clear.

Careful.  Modern IDE or ATA drives alsmost always ship with the write cache
on.  Some turn it off when an excessive bad block rate or other error is
detected.  I wouldn't blithely turn it on if I found it off.

I support SMART might have some clues if that is what was happening. However, this is on two different machines with three different models and makes of drive. The cache is also off extremely early on.

What I have observed, though, on one Intel-chipset system, for reasons I
do not understand -- and in both piixide and ahcisata mode! -- is that
the drive on one channel seems to turn its write cache off approximately
every 2 minutes.  It doesn't matter which drive; put it on that particular
SATA channel, and eventually it will turn off its write cache!  So turning
write cache on explicitly at boot time did not actually help.

Are you sure that's not what you're seeing?

I don't think so, my drivecache script runs before fsck (i.e. right as userland is entered) and the caches are off prior to that point. After an hour of RAID rebuilds they are still on.

I don't think you should check in the "drivecache" script in its current
form for the reason I give above.  Also, it should be able to manipulate
the read and write caches settings separately.

I did discuss that with other developers. Certainly on these drives, read-cache isn't alterable. However, it would be worthwhile addition if the script itself was considered safe.

--
Stephen


Home | Main Index | Thread Index | Old Index