diff options
author | Shrikanth Hegde <sshegde@linux.ibm.com> | 2025-03-06 10:59:53 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-04-10 14:33:39 +0200 |
commit | e73917f9e05e74f8d277b9c948349ba8471c1d23 (patch) | |
tree | 11abc3cad077848400b1cbd5d13d2c6e859909f9 | |
parent | 223f2ababbd1c83dcd5810daab14b9783f06840e (diff) | |
download | linux-e73917f9e05e74f8d277b9c948349ba8471c1d23.tar.gz linux-e73917f9e05e74f8d277b9c948349ba8471c1d23.tar.bz2 linux-e73917f9e05e74f8d277b9c948349ba8471c1d23.zip |
sched/deadline: Use online cpus for validating runtime
[ Upstream commit 14672f059d83f591afb2ee1fff56858efe055e5a ]
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
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | kernel/sched/deadline.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 389290e950be..7f378fa0b6ed 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -2762,7 +2762,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)) |