Index: linux-2.6.19-rc5-mm1/kernel/sched.c =================================================================== --- linux-2.6.19-rc5-mm1.orig/kernel/sched.c 2006-11-13 18:11:56.741580904 -0600 +++ linux-2.6.19-rc5-mm1/kernel/sched.c 2006-11-13 18:12:07.059847857 -0600 @@ -2904,6 +2904,9 @@ static void run_rebalance_domains(struct if (!(sd->flags & SD_LOAD_BALANCE)) continue; + if (this_cpu != first_cpu(sd->span)) + continue; + interval = sd->balance_interval; if (idle != SCHED_IDLE) interval *= sd->busy_factor; @@ -2913,6 +2916,7 @@ static void run_rebalance_domains(struct if (unlikely(!interval)) interval = 1; + if (sd->flags & SD_SERIALIZE) { if (!spin_trylock(&balancing)) goto out;