* [PATCH v4] docs/sched_ext: document that cgroup CPU knobs are scheduler-dependent
@ 2026-08-24 13:21 Tao Cui
2026-08-24 13:49 ` Andrea Righi
2026-08-24 17:28 ` Tejun Heo
0 siblings, 2 replies; 3+ messages in thread
From: Tao Cui @ 2026-08-24 13:21 UTC (permalink / raw)
To: tj, arighi
Cc: void, changwoo, suzhidao, sched-ext, linux-kernel, bpf, cui.tao, Tao Cui
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
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH v4] docs/sched_ext: document that cgroup CPU knobs are scheduler-dependent
2026-08-24 13:21 [PATCH v4] docs/sched_ext: document that cgroup CPU knobs are scheduler-dependent Tao Cui
@ 2026-08-24 13:49 ` Andrea Righi
2026-08-24 17:28 ` Tejun Heo
1 sibling, 0 replies; 3+ messages in thread
From: Andrea Righi @ 2026-08-24 13:49 UTC (permalink / raw)
To: Tao Cui
Cc: tj, void, changwoo, suzhidao, sched-ext, linux-kernel, bpf, Tao Cui
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
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v4] docs/sched_ext: document that cgroup CPU knobs are scheduler-dependent
2026-08-24 13:21 [PATCH v4] docs/sched_ext: document that cgroup CPU knobs are scheduler-dependent Tao Cui
2026-08-24 13:49 ` Andrea Righi
@ 2026-08-24 17:28 ` Tejun Heo
1 sibling, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2026-08-24 17:28 UTC (permalink / raw)
To: Tao Cui
Cc: Andrea Righi, David Vernet, Changwoo Min, suzhidao, sched-ext,
linux-kernel, bpf, Tao Cui
Applied to sched_ext/for-7.3-fixes.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-08-24 17:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-24 13:21 [PATCH v4] docs/sched_ext: document that cgroup CPU knobs are scheduler-dependent Tao Cui
2026-08-24 13:49 ` Andrea Righi
2026-08-24 17:28 ` Tejun Heo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®