diff options
| author | Shrikanth Hegde <sshegde@linux.ibm.com> | 2025-10-14 15:33:42 +0530 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-11-11 17:27:55 +0100 |
| commit | b4bfacd39216755c058f6d13c71c86a9bf5a1631 (patch) | |
| tree | fe8f9e517ae3ec1f9bf65d1968026d640e79952f | |
| parent | 2614069c5912e9d6f1f57c262face1b368fb8c93 (diff) | |
sched/deadline: Use cpumask_weight_and() in dl_bw_cpus
cpumask_subset(a,b) -> cpumask_weight(a) should be same as cpumask_weight_and(a,b)
for_each_cpu_and(a,b) to count cpus could be replaced by cpumask_weight_and(a,b)
No Functional Change. It could save a few cycles since cpumask_weight_and
would be more efficient. Plus one less stack variable.
Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Juri Lelli <juri.lelli@redhat.com>
Link: https://patch.msgid.link/20251014100342.978936-3-sshegde@linux.ibm.com
| -rw-r--r-- | kernel/sched/deadline.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index e958cf9d15c5..4dd4b2fb2934 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -125,20 +125,11 @@ 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; 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++; - - return cpus; + return cpumask_weight_and(rd->span, cpu_active_mask); } static inline unsigned long __dl_bw_capacity(const struct cpumask *mask) |
