Selectable I/O schedulers for 2.6
What has been lacking is any sort of way for a system administrator to choose between these schedulers. A system I/O scheduler can be designated with the elevator= boot parameter, but that choice applies to all drives on the system, and it cannot be changed. This restriction makes experimenting with the various schedulers difficult; in the real world, it may also be appropriate to use different schedulers for different drives.
So Nick Piggin has released a patch which makes I/O schedulers selectable at run time. With the patch, a new io_scheduler sysfs attribute appears under /sys/block/<device>/queue; changing a scheduler is simply a matter of writing the name of the new scheduler into that attribute. So, for example, to go to CFQ on the first SCSI drive:
echo cfq >/sys/block/sda/queue/io_scheduler
Changing schedulers requires pausing and emptying the I/O queue, so it
might not be advisable in the middle of writing a CD or controlling a
nuclear power plant shutdown. But it certainly can be a useful thing to do
at system initialization time, or while experimenting with scheduler
performance under a certain kind of load.
Posted Sep 25, 2003 2:32 UTC (Thu)
by Nick (guest, #15060)
[Link]
Better yet, just go to http://www.kerneltrap.org/~npiggin/, as I may have a
Posted Sep 25, 2003 14:06 UTC (Thu)
by alspnost (guest, #2763)
[Link] (1 responses)
Posted Sep 25, 2003 14:24 UTC (Thu)
by StevenCole (guest, #3068)
[Link]
In regards to changing the elevator, you will need to
mount sysfs first. Create a /sys mountpoint, and
Please use this patch instead.Selectable I/O schedulers for 2.6
http://www.kerneltrap.org/~npiggin/elv-select.patch-030924-2
newer version. Have fun.
You mean people are using 2.6.0-test5 to conrol nuclear power plant shutdowns? And I thought SCO was worrying enough ;-)
Selectable I/O schedulers for 2.6
They might be better off if they did. Here is an
interesting article:
Slammer worm crashed Ohio nuke plant network
Selectable I/O schedulers for 2.6
mount -t sysfs sysfs /sys
