Trying out schedulers

Nifty Hat Mitch mitch48 at sbcglobal.net
Tue Aug 24 08:24:50 UTC 2004


On Mon, Aug 23, 2004 at 05:03:38PM -0500, Brian Fahrlander wrote:
> On Mon, 2004-08-23 at 16:37, Robert P. J. Day wrote:
> > On Mon, 23 Aug 2004, Brian Fahrlander wrote:
> > 
> > >    The only one I know about now is elevator=deadline, but that not 
> > > only got me nowhere, I think it's the IO scheduler, not cpu.
> > 
> > that's certainly correct -- r. love has a short section on I/O 
> > schedulers in his book, "Linux Kernel Development", which talks about 
> > I/O schedulers like the linus elevator, deadline I/O scheduler and 
> > anticipatory I/O scheduler.  i suspect that's not the info that you 
> > really wanted, though.
> 
....
>     Do you have any idea what command lines I'd use to chose a scheduler
> option?  I've seen sched.c, and a flock of scheduler programs....I just
> don't really know how to chose'em.   
> 

Some of these are compile time options.
If you look at /usr/src/linux-2.6.8-1.521/kernel/sched.c
you will see: 
    #ifdef CONFIG_PREEMPT 
and other pre processor directives....

More valuable may be "tuning knobs"

    /*
     * These are the 'tuning knobs' of the scheduler:
     *
     * Minimum timeslice is 10 msecs, default timeslice is 100 msecs,
     * maximum timeslice is 200 msecs. Timeslices get refilled after
     * they expire.
     */
    #define MIN_TIMESLICE           ( 10 * HZ / 1000)
    #define MAX_TIMESLICE           (200 * HZ / 1000)
    ... etc.

The scheduler is at the heart of thing so do not expect to find a
handful of plugins that work.  One thing the scheduler MUST do, is
not lockup the system.  The way the scheduler works in many 
ways defines how other parts of the kernel must work.

In one regard almost anything can be queued, sliced diced, scheduled:
Network IO, disk, character io, process run time, threads...  The key
is that you want it to be ready or to happen when you need it and it
is hard to please all the people all the time.  Remember that some
things demand strict ordering.

Of interest all these scheduling ideas can be applied to user space
applications.  Things like the Xserver... data base engines, web server,
and more.



-- 
	T o m  M i t c h e l l 
	Just say no to 74LS73 in 2004





More information about the fedora-list mailing list