Re: [PATCH 1/2] sched/deadline: use online cpus for validating runtime
From: Juri Lelli
Date: Thu Mar 06 2025 - 03:30:02 EST
Hi!
On 06/03/25 10:59, Shrikanth Hegde wrote:
> ftrace selftest reported failure since writing -1 to sched_rt_runtime_us
> return -EBUSY. This happens when the possible CPUs is different than
> the 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 validation the
> bandwidth calculations.
>
> Signed-off-by: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
> ---
> kernel/sched/deadline.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index 2d0f571f95e9..7ea9c040c72f 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -3187,7 +3187,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))
> --
Makes sense to me.
Acked-by: Juri Lelli <juri.lelli@xxxxxxxxxx>
Thanks,
Juri