[patch] sched: fix sd_parent_degenerate on non-numa smp machine

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Ken Chen
Date: Sunday, December 7, 2008 - 7:47 pm

The addition of SD_SERIALIZE flag added to SD_NODE_INIT prevented top level
dummy numa sched_domain to be properly degenerated on non-numa smp machine.
The reason is that in sd_parent_degenerate(), it found that the child and
parent does not have comon sched_domain flags due to SD_SERIALIZE.  However,
for non-numa smp box, the top level is a dummy with a single sched_group.

Filter out SD_SERIALIZE if it is on non-numa machine to properly degenerate
top level node sched_domain.  this will cut back some of the sd domain walk
in the load balancer code.

Signed-off-by: Ken Chen <kenchen@google.com>

diff --git a/kernel/sched.c b/kernel/sched.c
index b7480fb..6beae36 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -6814,6 +6814,8 @@ sd_parent_degenerate
 				SD_BALANCE_EXEC |
 				SD_SHARE_CPUPOWER |
 				SD_SHARE_PKG_RESOURCES);
+		if (nr_node_ids == 1)
+			pflags &= ~SD_SERIALIZE;
 	}
 	if (~cflags & pflags)
 		return 0;
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch] sched: fix sd_parent_degenerate on non-numa smp ma ..., Ken Chen, (Sun Dec 7, 7:47 pm)