Re: [PATCH v2] sched: fix nohz.next_balance update

Jason Low
2015-08-27T16:50:05Z

On Thu, 2015-08-27 at 13:21 +0200, Vincent Guittot wrote:
> Hi,
>
> On 3 August 2015 at 11:55, Vincent Guittot <vincent.guittot@linaro.org> wrote:
> > Since commit d4573c3e1c99 ("sched: Improve load balancing in the presence
> > of idle CPUs"), the ILB CPU starts with the idle load balancing of other
> > idle CPUs and finishes with itself in order to speed up the spread of tasks
> > in all idle CPUs.
> >
> > The this_rq->next_balance is still used in nohz_idle_balance as an
> > intermediate step to gather the shortest next balance before updating
> > nohz.next_balance. But the former has not been updated yet and is likely to
> > be set with the current jiffies. As a result, the nohz.next_balance will be
> > set with current jiffies instead of the real next balance date. This
> > generates spurious kicks of nohz ilde balance.
> >
> > nohz_idle_balance must set the nohz.next_balance without taking into
> > account this_rq->next_balance which is not updated yet. Then, this_rq will
> > update nohz.next_update with its next_balance once updated and if necessary.
> >
> > Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>

Acked-by: Jason Low <jason.low2@hp.com>