2024-04-03 15:08:04

by Pierre Gondois

[permalink] [raw]
Subject: [PATCH 5/7] sched/topology: Remove CPUs with NULL sd from HKR_TYPE_SCHED mask

Upon attaching a NULL sched domain to a CPU, remove the CPU from
the HKR_TYPE_SCHED isolation mask. CPUs present in this mask
are prevented from being added to the fair.c variables:
- nohz.idle_cpus_mask
- nohz.nr_cpus

Signed-off-by: Pierre Gondois <[email protected]>
---
kernel/sched/topology.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 63aecd2a7a9f..b4fc212ccfb0 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -775,6 +775,11 @@ cpu_attach_domain(struct sched_domain *sd, struct root_domain *rd, int cpu)

sched_domain_debug(sd, cpu);

+ if (sd)
+ housekeeping_runtime_set_cpu(cpu, HKR_TYPE_SCHED);
+ else
+ housekeeping_runtime_clear_cpu(cpu, HKR_TYPE_SCHED);
+
rq_attach_root(rq, rd);
tmp = rq->sd;
rcu_assign_pointer(rq->sd, sd);
--
2.25.1