sched: fix sd_parent_degenerate on non-numa smp machine
Impact: optimize the sched domains tree some more 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> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>hifive-unleashed-5.1
parent
4d117c5c6b
commit
5436499e60
|
@ -6768,6 +6768,8 @@ sd_parent_degenerate(struct sched_domain *sd, struct sched_domain *parent)
|
||||||
SD_BALANCE_EXEC |
|
SD_BALANCE_EXEC |
|
||||||
SD_SHARE_CPUPOWER |
|
SD_SHARE_CPUPOWER |
|
||||||
SD_SHARE_PKG_RESOURCES);
|
SD_SHARE_PKG_RESOURCES);
|
||||||
|
if (nr_node_ids == 1)
|
||||||
|
pflags &= ~SD_SERIALIZE;
|
||||||
}
|
}
|
||||||
if (~cflags & pflags)
|
if (~cflags & pflags)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue