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 Fri, 4 Dec 2009, Stephen Borrill wrote:
I've seen a couple of boxes recently where writing to a piixide-attached disk
was excruciatingly slow:
-------Sequential Output-------- ---Sequential Input--
--Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block---
--Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
4096 4268 3.1 4264 0.5 3994 0.6 92913 72.1 112090 11.4 1957.4 3.7
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.
On this chipset and drive, the write-cache is on:
piixide0: Intel 82801I Serial ATA Controller (ICH9) (rev. 0x02)
wd0 at atabus0 drive 0: <WD2502ABYS-23B7A0 39M4511 42C0463IBM>
On this chipset and drive, the write-cache is off:
piixide0: Intel 3400 Serial ATA Controller (rev. 0x05)
wd0 at atabus0 drive 0: <WD2502ABYS-23B7A0 39M4511 42C0463IBM>
Note that the drive is an identical model in each case (there are no BIOS
settings regarding this).
It seems to me that forcing write-cache on in the kernel is a bad idea for
a couple of reasons: some users may want it off and enabling it early in
the boot process in userland should be just as good.
To this end I've written an rc.d script to alter the settings as desired:
ftp://ftp.netbsd.org/pub/NetBSD/misc/sborrill/drivecache.sh
To use this add "drivecache=YES" to your rc.conf. It can be tweaked with
drivecache_flags (set to ON or OFF to force cache on or off - defaults to
ON) and drivecache_list (a space-separated list of drives to alter -
defaults to all wd* and sd* devices).
--
Stephen
Home |
Main Index |
Thread Index |
Old Index