Hello,
I just compiled kernel 2.6.15. I came across an option that I didn't have any
knowledge about:
Block Layer->
IO Schedulers->
< > Anticipatory I/O scheduler
< > Deadline I/O scheduler
< > CFQ I/O scheduler
Default I/O scheduler (CFQ)->
( ) Anticipatory
( ) Deadline
( ) CFQ
( ) No-op
Here's what the help text in menuconfig says about the three options:
Anticipatory:
CONFIG_IOSCHED_AS:
The anticipatory I/O scheduler is the default disk scheduler. It is
generally a good choice for most environments, but is quite large and
complex when compared to the deadline I/O scheduler, it can also be
slower in some cases especially some database loads.
Deadline:
CONFIG_IOSCHED_DEADLINE:
The deadline I/O scheduler is simple and compact, and is often as
good as the anticipatory I/O scheduler, and in some database
workloads, better. In the case of a single process performing I/O to
a disk at any one time, its behaviour is almost identical to the
anticipatory I/O scheduler and so is a good choice.
CFQ:
CONFIG_IOSCHED_CFQ:
The CFQ I/O scheduler tries to distribute bandwidth equally
among all processes in the system. It should provide a fair
working environment, suitable for desktop systems.
The help text wasn't much help for me either, so I went about googling. I
found this:
http://www.linuxhowtos.org/System/iosched.htm
This is very good information.
Anyway, now I'm wondering how much effect an I/O Scheduler will have on the
drive performance, as compared to hdparm settings.
'hdparm -tT' gives me a read speed of ~55MB/s on my AMD Sempron64 2500+
system. My hard disk isn't even SATA. I don't think it is possible to squeeze
out much more. I suppose switching I/O Schedulers on my system won't make
much of a difference.
Does anyone have more information about this?
Mrugesh