Re: [BUG] idle_balance() does not call load_balance_newidle()

From: Vaidyanathan Srinivasan
Date: Mon Dec 08 2008 - 23:03:51 EST


* Ingo Molnar <mingo@xxxxxxx> [2008-12-08 16:49:39]:

>
> * Vaidyanathan Srinivasan <svaidy@xxxxxxxxxxxxxxxxxx> wrote:
>
> > Hi,
> >
> > load_balance_newidle() does not get called if SD_BALANCE_NEWIDLE is
> > set at higher level domain (3-CPU) and not in low level domain (2-MC).
> >
> > pulled_task is initialised to -1 and checked for non-zero which is
> > always true if the lowest level sched_domain does not have
> > SD_BALANCE_NEWIDLE flag set.
> >
> > Trivial fix to initialise pulled_task to zero.
> > Patch against 2.6.28-rc7
>
> applied to tip/sched/core, thanks! (Not for v2.6.28 because this could
> affect performance.)

Thanks Ingo. This patch does not change any functionality in v2.6.28
and hence will not affect performance. The SD flags are not touched.
I found this bug while setting different SD flags at MC level and CPU
level in my power saving balance patches.

--Vaidy
--
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/