On Tue, Jun 04, 2013 at 01:11:47PM +0200, Vincent Guittot wrote: > On 4 June 2013 12:26, Frederic Weisbecker <fweis...@gmail.com> wrote: > > On Tue, Jun 04, 2013 at 11:36:11AM +0200, Peter Zijlstra wrote: > >> > >> The best I can seem to come up with is something like the below; but I > >> think > >> its ghastly. Surely we can do something saner with that bit. > >> > >> Having to clear it at 3 different places is just wrong. > > > > We could clear the flag early in scheduler_ipi() and set some > > specific value in rq->idle_balance that tells we want nohz idle > > balancing from the softirq, something like this untested: > > I'm not sure that we can have less than 2 places to clear it: cancel > place or acknowledge place otherwise we can face a situation where > idle load balance will be triggered 2 consecutive times because > NOHZ_BALANCE_KICK will be cleared before the idle load balance has > been done and had a chance to migrate tasks.
I guess it depends what is the minimum value of rq->next_balance, it seems to be large enough to avoid this kind of incident. Although I don't know well the whole logic with rq->next_balance and ilb trigger so I must defer to you. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/