Make sched-remove-degenerate-domains.patch actually work. Signed-off-by: Suresh Siddha Catch more (hopefully all) cases. Signed-off-by: Nick Piggin Index: linux-2.6/kernel/sched.c =================================================================== --- linux-2.6.orig/kernel/sched.c 2005-04-15 22:52:25.000000000 +1000 +++ linux-2.6/kernel/sched.c 2005-04-15 22:58:54.000000000 +1000 @@ -4844,7 +4844,14 @@ static int __devinit sd_parent_degenerat /* WAKE_BALANCE is a subset of WAKE_AFFINE */ if (cflags & SD_WAKE_AFFINE) pflags &= ~SD_WAKE_BALANCE; - if ((~sd->flags) & parent->flags) + /* Flags needing groups don't count if only 1 group in parent */ + if (parent->groups == parent->groups->next) { + pflags &= ~(SD_LOAD_BALANCE | + SD_BALANCE_NEWIDLE | + SD_BALANCE_FORK | + SD_BALANCE_EXEC); + } + if (~cflags & pflags) return 0; return 1;