[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aCzjJp1ovS6kCqHj@slm.duckdns.org>
Date: Tue, 20 May 2025 10:16:38 -1000
From: Tejun Heo <tj@...nel.org>
To: shashank.mahadasyam@...y.com
Cc: Johannes Weiner <hannes@...xchg.org>,
Michal Koutný <mkoutny@...e.com>,
Jonathan Corbet <corbet@....net>, cgroups@...r.kernel.org,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
Shinya Takumi <shinya.takumi@...y.com>
Subject: Re: [PATCH v2 3/3] cgroup, docs: cpu controller interaction with
various scheduling policies
Hello,
On Tue, May 20, 2025 at 11:07:47PM +0900, Shashank Balaji via B4 Relay wrote:
...
> +The interaction of a process with the cpu controller depends on its scheduling
> +policy. We have the following scheduling policies: ``SCHED_IDLE``, ``SCHED_BATCH``,
> +``SCHED_OTHER``, ``SCHED_EXT`` (if ``CONFIG_SCHED_CLASS_EXT`` is enabled), ``SCHED_FIFO``,
> +``SCHED_RR``, and ``SCHED_DEADLINE``. ``SCHED_{IDLE,BATCH,OTHER,EXT}`` can be scheduled
> +either by the fair-class scheduler or by a BPF scheduler::
> +
> + CONFIG_SCHED_CLASS_EXT
> + ├─ Disabled
> + | └─ SCHED_{IDLE,BATCH,OTHER} -> fair-class scheduler
> + └─ Enabled
> + ├─ BPF scheduler disabled
> + | └─ SCHED_{IDLE,BATCH,OTHER,EXT} -> fair-class scheduler
> + ├─ BPF scheduler without SCX_OPS_SWITCH_PARTIAL enabled
> + | └─ SCHED_{IDLE,BATCH,OTHER,EXT} -> BPF scheduler
> + └─ BPF scheduler with SCX_OPS_SWITCH_PARTIAL enabled
> + ├─ SCHED_{IDLE,BATCH,OTHER} -> fair-class scheduler
> + └─ SCHED_EXT -> BPF scheduler
> +
> +For more details on ``SCHED_EXT``, check out :ref:`Documentation/scheduler/sched-ext.rst. <sched-ext>`
> +From the point of view of the cpu controller, processes can be categorized as
> +follows:
> +
> +* Processes under the fair-class scheduler
> +* Processes under a BPF scheduler with the ``cgroup_set_weight`` callback
> +* Everything else: ``SCHED_{FIFO,RR,DEADLINE}`` and processes under a BPF scheduler
> + without the ``cgroup_set_weight`` callback
> +
> +Note that the ``cgroup_*`` family of callbacks require ``CONFIG_EXT_GROUP_SCHED``
> +to be enabled. For each of the following interface files, the above categories
> +will be referred to. All time durations are in microseconds.
Can we document the above in sched_ext documentation and point to it from
here? Documenting sched_ext details here seems a bit out of place and prone
to becoming stale over time.
...
> cpu.uclamp.min
> - A read-write single value file which exists on non-root cgroups.
> - The default is "0", i.e. no utilization boosting.
> + A read-write single value file which exists on non-root cgroups.
> + The default is "0", i.e. no utilization boosting.
Can you please separate out indentation changes to a separate patch? These
usually make reviewing tricky.
Thanks.
--
tejun
Powered by blists - more mailing lists