diff options
| author | Waiman Long <longman@redhat.com> | 2026-10-19 14:10:17 -0400 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-10-19 13:08:20 -1000 |
| commit | c0189e75d3b8355ed29fea33c184c3eb00dc273d (patch) | |
| tree | 0e054d7f33dee16a8400b03835ba6a6c22c95756 /Documentation/admin-guide | |
| parent | db27a748a399e24af715c54c12a7e928e32d15b0 (diff) | |
cgroup/cpuset: Don't allow a child root partition under an isolated parent
Although it is not typical for real users to create a complicated nested
partition hierarchy, it is currently allowed to create nested root and
isolated partitions. In addition, disabling or invalidating a partition
should always be allowed especially when the cpuset is being deleted.
With a nested root and isolated partition hierarchy, it is possible
that all active housekeeping CPUs can be exhausted when disabling or
invalidating a root partition and returning its CPUs to the isolated
parent.
One way to avoid this problem is to disallow the creation of a root
partition under an isolated parent. It is indeed a new limitation imposed
on the existing cpuset partition functionality. However an isolated
partition is usually a left node where scheduling and some other kernel
noises are disabled. It doesn't make much sense to create a child root
partition under an isolated parent and remove some CPUs from the set
of isolated CPUs again. Creation of a child isolated partition under a
root or isolated parent is still allowed.
If a partition with child root partitions is converted to isolated,
the child root partitions will be invalidated.
The cgroup-v2 documentation is also updated to reflect this new
limitation. New test cases are added to test_cpuset_prs.sh to verify
this new behavior. Some existing test cases are also updated accordingly.
Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'Documentation/admin-guide')
| -rw-r--r-- | Documentation/admin-guide/cgroup-v2.rst | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst index bd8c80f3bbc9..2c445829e24d 100644 --- a/Documentation/admin-guide/cgroup-v2.rst +++ b/Documentation/admin-guide/cgroup-v2.rst @@ -2767,7 +2767,9 @@ Cpuset Interface Files be retained, but behaves more like a "member". All possible state transitions among "member", "root" and - "isolated" are allowed. + "isolated" are allowed with the exception that a local child + "root" partition is not allowed to be created under an "isolated" + parent partition. On read, the "cpuset.cpus.partition" file can show the following values. |
