[PATCH v2 0/7] sched: RT throttling cleanup and a bit of documentation
From: Sebastian Andrzej Siewior
Date: Tue Nov 10 2026 - 12:36:54 EST
People used to disable the RT throttling mechanism by writing -1 to
/proc/sys/kernel/sched_rt_runtime_us. Since v6.12 they can still do this
but they don't disable RT throttling anymore. Instead this throttling
mechanism has been taken over by the fair_server which can be configured
via debugfs.
This is not really documented by a hint appeared a few cycles later in
Documentation/scheduler/sched-rt-group.rst. This can be found once you
know what you are looking for because this document describes the RT
group scheduling (CONFIG_RT_GROUP_SCHED). The fair_server is used even
without it.
The then there is global DL resource control which also shares this
file proc file (which is stuck if CONFIG_RT_GROUP_SCHED is enabled).
This little series:
- Marks CONFIG_RT_GROUP_SCHED as broken because I was not allowed to
remove it.
- Untangles DL usage of sched_rt_runtime_us and moves it to
/sys/kernel/sched/dl_period_us
/sys/kernel/sched/dl_runtime_us
This keeps the _us sematic that we used to have /proc. It _could_ be
changed to ns instead.
- Moves rcutorture away from the procfs interface since it tries to
shutdown the fair_server for its testing.
- Adds sysfs interface under /sys/kernel/sched/cpuX to represent the
runqueues. The only knob for now is fair_server_{period|runtime}
representing the fair_server parameters. If all goes well, debugfs
could be removed. The ext server could be moved, too.
- I tried to correct/ update documentation while at it. I added the -doc
folks on Cc so they are aware. I can drop them in the next posting, I
expect that this gets routed via the sched/-tip.
v1…v2: https://lore.kernel.org/all/20261105164724.yxONBd03@xxxxxxxxxxxxx/
- Tejun and PeterZ asked for marking CONFIG_RT_GROUP_SCHED broken
first.
- Everything after patch #1 that got queued up.
RFC…v1: https://lore.kernel.org/all/20261023161348.t3lpPLQZ@xxxxxxxxxxxxx/
- Try to remove RT-GROUP-sched after figuring out that it is useless.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
Sebastian Andrzej Siewior (7):
sched: Mark RT_GROUP_SCHED broken
rcutorture: Don't try to disable to RT throttling.
sched: rcutorture: Allow to disable DL fair_server
sched: Move DL's admission control to sysfs
sched: Limit sysctl sched_rt_{period|runtime}_us to RT_GROUP_SCHED
sched: Add sysfs files for the per-CPU fair_server knobs
Documentation/sched: Add fairserver to sched-deadline
Documentation/arch/arm64/asymmetric-32bit.rst | 2 +-
Documentation/scheduler/sched-deadline.rst | 36 ++-
Documentation/scheduler/sched-rt-group.rst | 7 +-
init/Kconfig | 2 +-
kernel/rcu/rcu.h | 2 -
kernel/rcu/rcutorture.c | 37 +--
kernel/sched/deadline.c | 338 +++++++++++++++++++++++++-
kernel/sched/debug.c | 56 +----
kernel/sched/features.h | 2 +
kernel/sched/rt.c | 61 ++---
kernel/sched/sched.h | 55 +++--
11 files changed, 423 insertions(+), 175 deletions(-)
---
base-commit: fd9230005e85472b81c1c7c16afe93dd878996b1
change-id: 20261110-sched_dl-a9727787112f
Best regards,
--
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>