]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
sched/rt: Move group schedulability check to sched_rt_global_validate()
authorMichal Koutný <mkoutny@suse.com>
Mon, 23 Mar 2026 12:39:38 +0000 (13:39 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 8 Apr 2026 11:11:44 +0000 (13:11 +0200)
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@suse.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20260323-sched-rert_groups-v3-2-1e7d5ed6b249@suse.com
kernel/sched/rt.c

index 893e54dab13ef6400bed8c562b1ded98700cbb1a..e16d8f1b4aa20146376f3df5c3761c77382f1e05 100644 (file)
@@ -2832,15 +2832,7 @@ long sched_group_rt_period(struct task_group *tg)
 #ifdef CONFIG_SYSCTL
 static int sched_rt_global_constraints(void)
 {
-       int ret = 0;
-       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 */
 
@@ -2872,6 +2864,13 @@ static int sched_rt_global_validate(void)
                        NSEC_PER_USEC > max_rt_runtime)))
                return -EINVAL;
 
+#ifdef CONFIG_RT_GROUP_SCHED
+       if (!rt_group_sched_enabled())
+               return 0;
+
+       scoped_guard(mutex, &rt_constraints_mutex)
+               return __rt_schedulable(NULL, 0, 0);
+#endif
        return 0;
 }