Re: [PATCH] Staircase Scheduler v6.3 for 2.6.7-rc2

William Lee Irwin III
2004-06-07T13:56:44Z

On Mon, Jun 07, 2004 at 01:39:26AM +1000, Con Kolivas wrote:
> This is an update of the scheduler policy mechanism rewrite using the
> infrastructure of the current O(1) scheduler. Slight changes from the
> original design require a detailed description. The change to the original
> design has enabled all known corner cases to be abolished and cpu
> distribution to be much better maintained. It has proven to be stable in my
> testing and is ready for more widespread public testing now.

There is only one "array" per runqueue; the removed code should be at
most a BUG_ON() or WARN_ON(); I opted to delete it altogether.

Index: kolivas-2.6.7-rc2/kernel/sched.c
===================================================================
--- kolivas-2.6.7-rc2.orig/kernel/sched.c 2004-06-07 06:19:45.938605000 -0700
+++ kolivas-2.6.7-rc2/kernel/sched.c 2004-06-07 06:53:21.555185000 -0700
@@ -1789,13 +1789,7 @@
cpustat->user += user_ticks;
cpustat->system += sys_ticks;

- /* Task might have expired already, but not scheduled off yet */
- if (p->array != &rq->array) {
- set_tsk_need_resched(p);
- goto out;
- }
spin_lock(&rq->lock);
-
// SCHED_FIFO tasks never run out of timeslice.
if (unlikely(p->policy == SCHED_FIFO))
goto out_unlock;