lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ