[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <66a46fd2-d0cf-4f0d-9390-38df1dad886c@amd.com>
Date: Wed, 11 Feb 2026 13:27:06 +0530
From: K Prateek Nayak <kprateek.nayak@....com>
To: Michal Koutný <mkoutny@...e.com>, Ingo Molnar
<mingo@...hat.com>, Peter Zijlstra <peterz@...radead.org>, Juri Lelli
<juri.lelli@...hat.com>, Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>, Steven Rostedt
<rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>, Mel Gorman
<mgorman@...e.de>, Valentin Schneider <vschneid@...hat.com>
CC: <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/3] sched/rt: Move group schedulability check to
sched_rt_global_validate()
Hello Michal,
On 1/19/2026 11:11 PM, Michal Koutný wrote:
> The sched_rt_global_constraints() function is a remnant that used to set
> up global RT throttling but that is no more since commit 5f6bd380c7bdb
> ("sched/rt: Remove default bandwidth control") and the function ended up
> only doing schedulability check.
> Move the check into the validation function where it fits better.
> (The order of validations sched_dl_global_validate() and
> sched_rt_global_validate() shouldn't matter.)
>
> Signed-off-by: Michal Koutný <mkoutny@...e.com>
> ---
> kernel/sched/rt.c | 21 +++++++++++----------
> 1 file changed, 11 insertions(+), 10 deletions(-)
>
> diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
> index 2dfdf2d9471be..c621e61568359 100644
> --- a/kernel/sched/rt.c
> +++ b/kernel/sched/rt.c
> @@ -2810,15 +2810,7 @@ long sched_group_rt_period(struct task_group *tg)
> #ifdef CONFIG_SYSCTL
> static int sched_rt_global_constraints(void)
> {
> - int ret = 0;
A blank line after the definition would have been nice in the previous
patch but I suppose this is transient.
> - if (!rt_group_sched_enabled())
> - return ret;
> -
> - mutex_lock(&rt_constraints_mutex);
> - ret = __rt_schedulable(NULL, 0, 0);
> - mutex_unlock(&rt_constraints_mutex);
> -
> - return ret;
> + return 0;
> }
> #endif /* CONFIG_SYSCTL */
>
> @@ -2850,7 +2842,16 @@ static int sched_rt_global_validate(void)
> NSEC_PER_USEC > max_rt_runtime)))
> return -EINVAL;
>
> - return 0;
> + int ret = 0;
I'm not a fan of the additional ifdeffry here but if we must, the "ret"
should either go at the beginning of the function, or you can get rid of
it entirely by ...
> +#ifdef CONFIG_RT_GROUP_SCHED
> + if (!rt_group_sched_enabled())
> + return ret;
... returning 0 directly here ...
> +
> + mutex_lock(&rt_constraints_mutex);
> + ret = __rt_schedulable(NULL, 0, 0);
... doing a
scoped_guard(mutex, &rt_constraints_mutex)
return __rt_schedulable(NULL, 0, 0);
here and ...
> + mutex_unlock(&rt_constraints_mutex);
> +#endif
> + return ret;
returning 0 directly here again.
> }
>
> static void sched_rt_do_global(void)
>
--
Thanks and Regards,
Prateek
Powered by blists - more mailing lists