[ Thanks to Jeremy
Andrews for this link. ]
“Andrew Morton recently posted some interesting benchmarks
comparing the current 2.4 IO scheduler, a ‘hacked’ version of the
deadline IO scheduler in 2.5.61, the CFQ scheduler, and the
anticipatory scheduler. Offering a succinct ‘executive summary’ of
his results, Andrew said, ‘the anticipatory scheduler is wiping the
others off the map, and 2.4 is a disaster.’ Indeed, in many of the
tests the other IO schedulers were measured in minutes, whereas the
anticipatory IO scheduler was measured in mere seconds.“Andrea Arcangeli responded to these tests pointing out that
they do not in any way highlight the benefits of the CFQ scheduler,
which instead is designed to maintain minimal worst case latency on
each and every IO read and write. Andrea explains, ‘CFQ is made for
multimedia desktop usage only, you want to be sure mplayer or xmms
will never skip frames, not for parallel cp reading floods of data
at max speed like a database with zillon of threads.’ This lead to
an interesting discussion in which Andrew suggested that such
programs employ a broken design which should be fixed directly,
rather than working around them in the IO scheduler.“Andrew’s latest -mm release, 2.5.62-mm3, still includes all
three of the 2.5 kernel’s IO schedulers. The default is ‘as’, but
you can also select ‘cfq’ or ‘deadline’ from the kernel boot
commandline…”