Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]

Peter Williams
2007-04-16T06:41:19Z

Peter Williams wrote:
> Peter Williams wrote:
>>
>> Are your new patches available somewhere for easy download or do I
>> have to try to dig them out of the mailing list archive? Or could you
>> mail them to me separately? I'm keen to see how you new scheduler
>> proposal works.
>
> Forget about this. I found the patch.
>
> After a quick look, I like a lot of what I see especially the removal of
> the dual arrays in the run queue.
>
> Some minor suggestions:
>
> 1. having defined DEFAULT_PRIO in sched.h shouldn't you use it to
> initialize the task structure in init_task.h.
> 2. the on_rq field in the task structure is unnecessary as many years of
> experience with ingosched in plugsched indicates that
> !list_empty(&(p)->run_list does the job provided list_del_init() is used
> when dequeueing and there is no noticeable overhead incurred so there's
> no gain by caching the result. Also it removes the possibility of
> errors creeping in due the value of on_rq being inconsistent with the
> task's actual state.
> 3. having modular load balancing is a good idea but it should be
> decoupled form the scheduler and provided as a separate interface. This
> would enable different schedulers to use the same load balancer if they
> desired.
> 4. why rename SCHED_OTHER to SCHED_FAIR? SCHED_OTHER's supposed to be
> fair(ish) anyway.

One more quick comment. The claim that there is no concept of time
slice in the new scheduler is only true in the sense of the rather
arcane implementation of time slices extant in the O(1) scheduler. Your
new parameter sched_granularity_ns is equivalent to the concept of time
slice in most other kernels that I've peeked inside and computing
literature in general (going back over several decades e.g. the magic
garden).

Welcome to the mainstream,
Peter
--
Peter Williams pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce