> Don't try to make the timer code know stuff that the timer code should
> not and does not know about. Just call the scheduler on each tick, and
> let the scheduler make its decision.
agreed, the -H4 patch implements this cleanup:
http://redhat.com/~mingo/O(1)-scheduler/sched-O1-2.5.2-pre11-H4.patch
the timer code calls the scheduler_tick() function once per local timer
interrupt. This function then decides whether the current task is idle or
not. (this should also fix the timeslice-expiration bug of any possibly
pid 0 process.)
(there is one small ugliness left, the function also has to be prepared
for a not yet complete scheduler state, rq->idle == NULL and rq->curr ==
NULL. I'll fix this later, it's a detail.)
(-H4 has been sanity-compiled & booted on SMP.)
other changes since -H1:
- removed dead code from wakeup.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/