Update Documentation/admin-guide/cgroup-v2.rst on the new "root-nolb" cpuset partition type as well as the ability to create non-top cpuset partition with no cpu allocated to it.
Signed-off-by: Waiman Long longman@redhat.com --- Documentation/admin-guide/cgroup-v2.rst | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst index b1e81aa8598a..36a923cabeb0 100644 --- a/Documentation/admin-guide/cgroup-v2.rst +++ b/Documentation/admin-guide/cgroup-v2.rst @@ -2010,8 +2010,9 @@ Cpuset Interface Files It accepts only the following input values when written to.
======== ================================ - "root" a partition root - "member" a non-root member of a partition + "member" Non-root member of a partition + "root" Partition root + "root-nolb" Partition root with no load balancing ======== ================================
When set to be a partition root, the current cgroup is the @@ -2020,6 +2021,10 @@ Cpuset Interface Files partition roots themselves and their descendants. The root cgroup is always a partition root.
+ With "root-nolb", the CPUs in that partition root will be in an + isolated state with no load balancing by the scheduler. Tasks in + such a partition must be explicitly bind to each individual CPU. + There are constraints on where a partition root can be set. It can only be set in a cgroup if all the following conditions are true. @@ -2038,9 +2043,12 @@ Cpuset Interface Files file cannot be reverted back to "member" if there are any child cgroups with cpuset enabled.
- A parent partition cannot distribute all its CPUs to its - child partitions. There must be at least one cpu left in the - parent partition. + A parent partition may distribute all its CPUs to its child + partitions as long as it is not the root cgroup and there is no + task directly associated with that parent partition. Otherwise, + there must be at least one cpu left in the parent partition. + A new task cannot be moved to a partition root with no effective + cpu.
Once becoming a partition root, changes to "cpuset.cpus" is generally allowed as long as the first condition above is true, @@ -2056,6 +2064,7 @@ Cpuset Interface Files ============== ============================== "member" Non-root member of a partition "root" Partition root + "root-nolb" Partition root with no load balancing "root invalid" Invalid partition root ============== ==============================