2024-03-20 14:23:42

by Waiman Long

[permalink] [raw]
Subject: [PATCH] cgroup, docs: Clarify limitation of RT processes with cgroup v2 cpu controller

The limitation that all RT processes have to be in the root cgroup
before enabling cpu controller only applies if the CONFIG_RT_GROUP_SCHED
option is enabled in the running kernel. If a kernel does not have
CONFIG_RT_GROUP_SCHED enabled, RT processes can exist in a non-root
cgroup even when cpu controller is enabled. CPU sharing of RT processes
will not be under cgroup control, but other resources like memory can be.

Clarify this limitation to avoid confusion to users that are using
cgroup v2.

Signed-off-by: Waiman Long <[email protected]>
---
Documentation/admin-guide/cgroup-v2.rst | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
index 17e6e9565156..23c600f0db32 100644
--- a/Documentation/admin-guide/cgroup-v2.rst
+++ b/Documentation/admin-guide/cgroup-v2.rst
@@ -1058,12 +1058,15 @@ cpufreq governor about the minimum desired frequency which should always be
provided by a CPU, as well as the maximum desired frequency, which should not
be exceeded by a CPU.

-WARNING: cgroup2 doesn't yet support control of realtime processes and
-the cpu controller can only be enabled when all RT processes are in
-the root cgroup. Be aware that system management software may already
-have placed RT processes into nonroot cgroups during the system boot
-process, and these processes may need to be moved to the root cgroup
-before the cpu controller can be enabled.
+WARNING: cgroup2 doesn't yet support control of realtime processes. For
+a kernel built with the CONFIG_RT_GROUP_SCHED option enabled for group
+scheduling of realtime processes, the cpu controller can only be enabled
+when all RT processes are in the root cgroup. This limitation does
+not apply if CONFIG_RT_GROUP_SCHED is disabled. Be aware that system
+management software may already have placed RT processes into nonroot
+cgroups during the system boot process, and these processes may need
+to be moved to the root cgroup before the cpu controller can be enabled
+with a CONFIG_RT_GROUP_SCHED enabled kernel.


CPU Interface Files
--
2.39.3



2024-03-25 23:48:58

by Tejun Heo

[permalink] [raw]
Subject: Re: [PATCH] cgroup, docs: Clarify limitation of RT processes with cgroup v2 cpu controller

On Wed, Mar 20, 2024 at 10:23:02AM -0400, Waiman Long wrote:
> The limitation that all RT processes have to be in the root cgroup
> before enabling cpu controller only applies if the CONFIG_RT_GROUP_SCHED
> option is enabled in the running kernel. If a kernel does not have
> CONFIG_RT_GROUP_SCHED enabled, RT processes can exist in a non-root
> cgroup even when cpu controller is enabled. CPU sharing of RT processes
> will not be under cgroup control, but other resources like memory can be.
>
> Clarify this limitation to avoid confusion to users that are using
> cgroup v2.
>
> Signed-off-by: Waiman Long <[email protected]>

Applied to cgroup/for-6.10.

Thanks.

--
tejun