Messages in this thread Patch in this message | | | Date | Sun, 7 Dec 2008 18:47:37 -0800 | Subject | [patch] sched: fix sd_parent_degenerate on non-numa smp machine | From | Ken Chen <> |
| |
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;
| |