Re: [patch] CFS scheduler, -v14

From: Ingo Molnar
Date: Thu May 31 2007 - 05:54:00 EST



* Li Yu <raise.sail@xxxxxxxxx> wrote:

> static void distribute_fair_add(struct rq *rq, s64 delta)
> {
> struct task_struct *curr = rq->curr;
> s64 delta_fair = 0;
>
> if (!(sysctl_sched_load_smoothing & 32))
> return;
>
> if (rq->nr_running) {
> delta_fair = div64_s(delta, rq->nr_running);
> /*
> * The currently running task's next wait_runtime value does
> * not depend on the fair_clock, so fix it up explicitly:
> */
> add_wait_runtime(rq, curr, -delta_fair);
> rq->fair_clock -= delta_fair;
> }
> }
>
> See this line:
>
> delta_fair = div64_s(delta, rq->nr_running);
>
> Ingo, should we be replace "rq->nr_running" with "rq->raw_load_weight"
> here?

that would break the code. The handling of sleep periods is basically
heuristics and using nr_running here appears to be 'good enough' in
practice.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/