Messages in this thread Patch in this message | | | From | Dietmar Eggemann <> | Subject | [PATCH v3 1/5] sched/deadline: Optimize dl_bw_cpus() | Date | Wed, 20 May 2020 15:42:39 +0200 |
| |
Return the weight of the root domain (rd) span in case it is a subset of the cpu_active_mask.
Continue to compute the number of CPUs over rd span and cpu_active_mask when in hotplug.
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com> --- kernel/sched/deadline.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 504d2f51b0d6..4ae22bfc37ae 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -54,10 +54,16 @@ static inline struct dl_bw *dl_bw_of(int i) static inline int dl_bw_cpus(int i) { struct root_domain *rd = cpu_rq(i)->rd; - int cpus = 0; + int cpus; RCU_LOCKDEP_WARN(!rcu_read_lock_sched_held(), "sched RCU must be held"); + + if (cpumask_subset(rd->span, cpu_active_mask)) + return cpumask_weight(rd->span); + + cpus = 0; + for_each_cpu_and(i, rd->span, cpu_active_mask) cpus++; -- 2.17.1
| |