Re: [patch] sched: fix sched domain degenerate

From: Siddha, Suresh B
Date: Fri Apr 15 2005 - 18:39:56 EST


On Fri, Apr 15, 2005 at 11:03:20PM +1000, Nick Piggin wrote:
> 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);
> + }

This patch works fine and I like this fix. But should n't we be adding
SD_WAKE_AFFINE and SD_WAKE_BALANCE to this list?

And about SD_BALANCE_FORK, now that we have multi level sbe/sbf, we should
add this flag to SD_CPU/SIBLING_INIT too..

thanks,
suresh
-
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/