Re: [patch] CFS scheduler, -v12

Peter Williams
2007-05-20T01:41:58Z

Dmitry Adamushko wrote:
> On 18/05/07, Peter Williams <pwil3058@bigpond.net.au> wrote:
>> [...]
>> One thing that might work is to jitter the load balancing interval a
>> bit. The reason I say this is that one of the characteristics of top
>> and gkrellm is that they run at a more or less constant interval (and,
>> in this case, X would also be following this pattern as it's doing
>> screen updates for top and gkrellm) and this means that it's possible
>> for the load balancing interval to synchronize with their intervals
>> which in turn causes the observed problem. A jittered load balancing
>> interval should break the synchronization. This would certainly be
>> simpler than trying to change the move_task() logic for selecting which
>> tasks to move.
>
> Just an(quick) another idea. Say, the load balancer would consider not
> only p->load_weight but also something like Tw(task) =
> (time_spent_on_runqueue / total_task's_runtime) * some_scale_constant
> as an additional "load" component (OTOH, when a task starts, it takes
> some time for this parameter to become meaningful). I guess, it could
> address the scenarios your have described (but maybe break some others
> as well :) ...
> Any hints on why it's stupid?

Well that is the kind of thing I was hoping to avoid for the reasons of
complexity. I think that the actual implementation would be more
complex than it sounds and possibly require multiple runs down the list
of moveable tasks which would be bad for overhead.

Basically, I don't think that the problem is serious enough to warrant a
complex solution. But I may be wrong about how complex the
implementation would be.

Peter
--
Peter Williams pwil3058@bigpond.net.au

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