• Jens Axboe's avatar
    [PATCH] switchable and modular io schedulers · df02202c
    Jens Axboe authored
    This patch modularizes the io schedulers completely, allowing them to be
    modular.  Additionally it enables online switching of io schedulers.  See
    also http://lwn.net/Articles/102593/ .
    
    
    There's a scheduler file in the sysfs directory for the block device
    queue:
    
    axboe@router:/sys/block/hda/queue> ls
    iosched            max_sectors_kb  read_ahead_kb
    max_hw_sectors_kb  nr_requests     scheduler
    
    If you list the contents of the file, it will show available schedulers
    and the active one:
    
    axboe@router:/sys/block/hda/queue> cat scheduler
    [cfq]
    
    Lets load a few more.
    
    router:/sys/block/hda/queue # modprobe deadline-iosched
    router:/sys/block/hda/queue # modprobe as-iosched
    router:/sys/block/hda/queue # cat scheduler
    [cfq] deadline anticipatory
    
    Changing is done with
    
    router:/sys/block/hda/queue # echo deadline > scheduler
    router:/sys/block/hda/queue # cat scheduler
    cfq [deadline] anticipatory
    
    deadline is now the new active io scheduler for hda.
    Signed-off-by: default avatarJens Axboe <axboe@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    df02202c
as-iosched.c 52 KB