login
Header Space

 
 

Staircase thoughts

April 14, 2004 - 9:38am
Submitted by Con Kolivas on April 14, 2004 - 9:38am.
Linux

While I've been stuck(?) here in Europe having a ball occasionally checking my email on weird keyboards I've been thinking about the evolution and completion of the staircase scheduler design.

One thing I can tell you is that I've been thinking a lot about the code and have 3 changes planned for it. 2 involve real infrastructure changes that should complete the scheduler design without increasing it's complexity significantly. The other is the simple removal of these lines from kernel/sched.c which you can do right now:

        // All normal tasks within a priority level round robin at RR_INTERVAL.
        if (!(p->slice % RR_INTERVAL) && !batch_task(p)) {
                set_tsk_need_resched(p);
                dequeue_task(p, rq);
                enqueue_task(p, rq);
        }

They dont work as I intended and should maintain better cpu balance for different nice levels and increase cpu throughput. This is the version in -ck and the one in mainline is slightly different (no batch reference) but the lines should also be deleted.

Have fun.
Con

2.6?

April 17, 2004 - 5:28am

This may be a dumb question, but does this only apply to 2.6 (and 2.5 predecessors)? 2.4 uses a different scheduler, right?

2.6

April 19, 2004 - 6:26am

Yes, only 2.6

2.6.6?

May 21, 2004 - 9:28am
Anonymous

Any updated patch?

Staircase & RT Audio

May 24, 2004 - 12:57am
Anonymous

Just to let you know ive been trying for quite a while now to get RT Audio apps working with minimal delay and xrun's on the 2.6 and 2.4 kernels.

Your staircase scheduler on 2.6.4 has helped a LOT.
In fact it has completely fixed the latency issues i was having.

Thanks Con!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary