Subject: Re: Changing the I/O scheduler on-the-fly
To: Juan RP <juan@xtrarom.org>
From: Jachym Holecek <freza@liberouter.org>
List: tech-kern
Date: 09/08/2005 21:18:07
Hello,

[Haven't read the diff...]

> The following operations are supported right now:
> 
> To list all I/O schedulers built in the kernel:
> 
> [juan@Nocturno][~]> sudo dkctl wd0 listschedulers
> Available I/O disk schedulers:
> /dev/rwd0d: Scheduler fcfs (First Come First Serve)
> /dev/rwd0d: Scheduler disksort (Min Seek Sort)
> /dev/rwd0d: Scheduler readprio (Min Seek Sort with read priority)
> /dev/rwd0d: Scheduler priocscan (Per Priority Ciclycal Scan)
> [juan@Nocturno][~]>

 * Do you really need a device in order to see what schedulers are
   available? If not, maybe just implement 'dkctl -s' (short for
   "schedulers"), or somesuch.

 * Why not make the output simpler, similar to 'ifconfig -l'?

   [In other posting, hubertf finds description of acronyms useful]:

   The meaning of different IO schedulers should be described in a
   manpage. Off the top of my head, I can't think of any other command
   that would intermix help with the actual "list" information
   ('ifconfig -l' doesn't try to explain in what ways do the network
   interfaces differ, for instance).

   Additionaly, "inline help" is only useful to novices -- once they
   become experts, it becomes noise. And experts tend to hate noise. ;-)

> To switch to another I/O scheduler:
> 
> [juan@Nocturno][~]> sudo dkctl wd0 setscheduler readprio
> /dev/rwd0d: using readprio scheduler

I'd propose:

  $ dkctl wd0 scheduler
  /dev/rwd0d: foo

  $ dkctl wd0 scheduler bar
  /dev/rwd0d: foo -> bar

This makes the command simpler and the output of changing schedulers
would be consistent with sysctl/mixerctl.

	Regards,
		-- Jachym Holecek