]> www.infradead.org Git - users/hch/misc.git/commitdiff
sched/deadline: Use online cpus for validating runtime
authorShrikanth Hegde <sshegde@linux.ibm.com>
Thu, 6 Mar 2025 05:29:53 +0000 (10:59 +0530)
committerIngo Molnar <mingo@kernel.org>
Thu, 6 Mar 2025 09:21:31 +0000 (10:21 +0100)
The ftrace selftest reported a failure because writing -1 to
sched_rt_runtime_us returns -EBUSY. This happens when the possible
CPUs are different from active CPUs.

Active CPUs are part of one root domain, while remaining CPUs are part
of def_root_domain. Since active cpumask is being used, this results in
cpus=0 when a non active CPUs is used in the loop.

Fix it by looping over the online CPUs instead for validating the
bandwidth calculations.

Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Juri Lelli <juri.lelli@redhat.com>
Link: https://lore.kernel.org/r/20250306052954.452005-2-sshegde@linux.ibm.com
kernel/sched/deadline.c

index 38e4537790af7ef3006f28f7a1ae0f68afd151cf..ff4df16b5186d7738898bf61705ac86d46b36c4b 100644 (file)
@@ -3189,7 +3189,7 @@ int sched_dl_global_validate(void)
         * value smaller than the currently allocated bandwidth in
         * any of the root_domains.
         */
-       for_each_possible_cpu(cpu) {
+       for_each_online_cpu(cpu) {
                rcu_read_lock_sched();
 
                if (dl_bw_visited(cpu, gen))