public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG] idle_balance() does not call load_balance_newidle()
@ 2008-12-08 15:22 Vaidyanathan Srinivasan
  2008-12-08 15:27 ` Peter Zijlstra
  2008-12-08 15:49 ` Ingo Molnar
  0 siblings, 2 replies; 6+ messages in thread
From: Vaidyanathan Srinivasan @ 2008-12-08 15:22 UTC (permalink / raw)
  To: Linux Kernel; +Cc: Ingo Molnar, Gautham R Shenoy, Peter Zijlstra

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

Thanks,
Vaidy

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
---

 kernel/sched.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


diff --git a/kernel/sched.c b/kernel/sched.c
index f79c7c4..4abdce1 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3801,7 +3801,7 @@ out_balanced:
 static void idle_balance(int this_cpu, struct rq *this_rq)
 {
 	struct sched_domain *sd;
-	int pulled_task = -1;
+	int pulled_task = 0;
 	unsigned long next_balance = jiffies + HZ;
 	cpumask_t tmpmask;
 

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-12-09  8:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-08 15:22 [BUG] idle_balance() does not call load_balance_newidle() Vaidyanathan Srinivasan
2008-12-08 15:27 ` Peter Zijlstra
2008-12-08 15:49 ` Ingo Molnar
2008-12-09  4:07   ` Vaidyanathan Srinivasan
2008-12-09  6:34     ` Ingo Molnar
2008-12-09  8:22       ` Vaidyanathan Srinivasan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox