Re: [RFC][PATCH 1/5] sched, fair: Let minimally loaded cpu balancethe group

From: Peter Zijlstra
Date: Wed May 02 2012 - 06:31:54 EST


On Wed, 2012-05-02 at 15:55 +0530, Srivatsa Vaddagiri wrote:
> * Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> [2012-05-01 20:14:31]:
>
> > @@ -3795,12 +3796,11 @@ static inline void update_sg_lb_stats(st
> >
> > /* Bias balancing toward cpus of our domain */
> > if (local_group) {
> > - if (idle_cpu(i) && !first_idle_cpu) {
> > - first_idle_cpu = 1;
> > + load = target_load(i, load_idx);
> > + if (load < balance_load || idle_cpu(i)) {
> > + balance_load = load;
>
> Let's say load_idx != 0 (ex: a busy cpu doing this load balance). In
> that case, for a idle cpu, we could return non-zero load and hence this
> would fail to select such a idle cpu?

Yep, such is the nature of !0 load_idx.

> IOW :
>
> balance_load = 0 iff idle_cpu(i) ??

I think so, even for !0 load_idx, load will only reach zero when we're
idle, just takes longer.
--
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/