Re: [PATCH RESEND v9 10/10] sched: move cfs task on a CPU with higher capacity

Peter Zijlstra
2015-02-20T16:26:57Z

On Fri, Feb 20, 2015 at 02:54:09PM +0100, Vincent Guittot wrote:

> >> if (rq->nr_running >= 2)
> >> + return true;
> >
> > So this,

> >> + sd = rcu_dereference(rq->sd);
> >> + if (sd) {
> >> + if ((rq->cfs.h_nr_running >= 1) &&
> >> + check_cpu_capacity(rq, sd)) {
> >> + kick = true;
> >> + goto unlock;
> >> + }
> >> + }
> >
> > vs this: how would we ever get here?
> >
> > If h_nr_running > 1, must then not nr_running > 1 as well?
>
> you're right,
> but the test above can trig a kick with h_nr_running == 1 whereas the
> other tests may not

Duh, clearly I cannot read today.