2004-10-29 15:34
by Vasil KolevSome technical things, that I wanted to write down…
I did a reconfiguration of the 3ware driver of the controller in marla – I lowered TW_MAX_CMDS_PER_LUN down to 64. The reason was a discussion at linux-kernel, where the explanation was that the queue of the block layer can hold up to 128 requests, and the one of the driver by default is 256, so the kernel can’t do any reordering and optimizations, the cotroller swallows all (and it can’t optimize them because it doesn’t have enough information, and can screw the things up). The result is a lot more responsive machine, and loadavg rarely going over 3-4.
There’s a patch, that makes this parameter controllable through sysctl, but I didn’t want to meddle in the kernel too much, I prefer to stick the the vanilla one. If I have the time, I could try to lower it to 32, but before that I’ll have to check how many requests can the controller process effectively in parallel.
(some additional information – the controller is 3ware Escalade 7500-8, with one RAID5 array on it, consisting of 4 200GB drives)