[PATCH] sched/topology: Covered all cpus of same node in asymmetric node setups

From: Bing Huang
Date: Sat Jul 29 2023 - 18:44:39 EST


in asymmetric node setups, if one cpu'sd spans is empty in some depth,
others in same node do

Signed-off-by: Bing Huang <huangbing@xxxxxxxxxx>
---
kernel/sched/topology.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 7cfcfe5d27b9..8c5372ad7694 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -1045,8 +1045,10 @@ build_overlap_sched_groups(struct sched_domain *sd, int cpu)
* Domains should always include the CPU they're built on, so
* check that.
*/
- if (!cpumask_test_cpu(i, sched_domain_span(sibling)))
+ if (!cpumask_test_cpu(i, sched_domain_span(sibling))) {
+ cpumask_or(covered, covered, cpumask_of_node(cpu_to_node(i)));
continue;
+ }

/*
* Usually we build sched_group by sibling's child sched_domain
--
2.25.1