Documentation/scheduler/sched-ext.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
From: Tao Cui <cuitao@kylinos.cn>
The scheduler core communicates the initial cpu controller settings
to the BPF scheduler through ops.cgroup_init() and reports subsequent
changes through the corresponding ops.cgroup_set_*() callbacks.
Whether and how a knob takes effect is up to the loaded scheduler:
it may implement the corresponding callback partially or not at all,
so cpu.max, cpu.weight and friends can silently have no effect.
Document this in the basics section of sched-ext.rst.
Signed-off-by: Tao Cui <cuitao@kylinos.cn>
---
v3 -> v4: Rephrase per Andrea's suggestion: mention ops.cgroup_init()
for the initial values, ops.cgroup_set_*() only for subsequent
changes, and disambiguate per-task nice (ops.set_weight()) from
cpu.weight.nice.
v3: https://lore.kernel.org/r/20260824091501.547649-1-cui.tao@linux.dev
Documentation/scheduler/sched-ext.rst | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/Documentation/scheduler/sched-ext.rst b/Documentation/scheduler/sched-ext.rst
index 35b550671ca7..794ae80b3ba3 100644
--- a/Documentation/scheduler/sched-ext.rst
+++ b/Documentation/scheduler/sched-ext.rst
@@ -242,6 +242,21 @@ optional. The following modified excerpt is from
.name = "simple",
};
+Scheduler-Dependent Knobs
+-------------------------
+
+The fair-class scheduler enforces CPU controller settings such as
+``cpu.max``, ``cpu.weight`` and ``cpu.idle``. For sched_ext tasks, the
+scheduler core communicates these settings to the BPF scheduler
+through ``ops.cgroup_init()`` and reports subsequent changes through
+the corresponding ``ops.cgroup_set_*()`` callbacks. Similarly, per-task
+nice changes are converted to weights and reported through
+``ops.set_weight()``.
+
+Each BPF scheduler is responsible for implementing the scheduling
+semantics of these settings and may choose to ignore them. Consult the
+loaded scheduler's documentation before relying on these controls.
+
Dispatch Queues
---------------
--
2.43.0
Applied to sched_ext/for-7.3-fixes. Thanks. -- tejun
On Mon, Aug 24, 2026 at 09:21:16PM +0800, Tao Cui wrote: > From: Tao Cui <cuitao@kylinos.cn> > > The scheduler core communicates the initial cpu controller settings > to the BPF scheduler through ops.cgroup_init() and reports subsequent > changes through the corresponding ops.cgroup_set_*() callbacks. > Whether and how a knob takes effect is up to the loaded scheduler: > it may implement the corresponding callback partially or not at all, > so cpu.max, cpu.weight and friends can silently have no effect. > > Document this in the basics section of sched-ext.rst. > > Signed-off-by: Tao Cui <cuitao@kylinos.cn> Looks good to me now. Reviewed-by: Andrea Righi <arighi@nvidia.com> Thanks, -Andrea > --- > v3 -> v4: Rephrase per Andrea's suggestion: mention ops.cgroup_init() > for the initial values, ops.cgroup_set_*() only for subsequent > changes, and disambiguate per-task nice (ops.set_weight()) from > cpu.weight.nice. > > v3: https://lore.kernel.org/r/20260824091501.547649-1-cui.tao@linux.dev > > Documentation/scheduler/sched-ext.rst | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/Documentation/scheduler/sched-ext.rst b/Documentation/scheduler/sched-ext.rst > index 35b550671ca7..794ae80b3ba3 100644 > --- a/Documentation/scheduler/sched-ext.rst > +++ b/Documentation/scheduler/sched-ext.rst > @@ -242,6 +242,21 @@ optional. The following modified excerpt is from > .name = "simple", > }; > > +Scheduler-Dependent Knobs > +------------------------- > + > +The fair-class scheduler enforces CPU controller settings such as > +``cpu.max``, ``cpu.weight`` and ``cpu.idle``. For sched_ext tasks, the > +scheduler core communicates these settings to the BPF scheduler > +through ``ops.cgroup_init()`` and reports subsequent changes through > +the corresponding ``ops.cgroup_set_*()`` callbacks. Similarly, per-task > +nice changes are converted to weights and reported through > +``ops.set_weight()``. > + > +Each BPF scheduler is responsible for implementing the scheduling > +semantics of these settings and may choose to ignore them. Consult the > +loaded scheduler's documentation before relying on these controls. > + > Dispatch Queues > --------------- > > -- > 2.43.0 >
© 2016 - 2026 Red Hat, Inc.