On 6/13/22 09:18, Waiman Long wrote:
On 6/12/22 23:12, Tejun Heo wrote:
Hello,
On Sun, Jun 12, 2022 at 11:02:38PM -0400, Waiman Long wrote:
That is the behavior enforced by setting the CPU_EXCLUSIVE bit in cgroup v1. I haven't explicitly change it to make it different in cgroup v2. The major reason is that I don't want change to one cpuset to affect a sibling partition as it may make the code more complicate to validate if a partition is valid.
If at all possible, I'd really like to avoid situations where a parent can't withdraw resources due to something that a descendant does.
No, it doesn't affect parent at all. It just limit whats the siblings can do due to their mutual constraint. If this is what the confusion is about, I will try to reword the doc text.
I am planning to make the following change to the documentation patch. Please let me know if that can clarify the confusion, if any.
Thanks, Longman
diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guid> index 9184a09e0fc9..9cbfa25dab97 100644 --- a/Documentation/admin-guide/cgroup-v2.rst +++ b/Documentation/admin-guide/cgroup-v2.rst @@ -2176,7 +2175,8 @@ Cpuset Interface Files
For a valid partition root or an invalid partition root with the exclusivity rule enabled, changes made to "cpuset.cpus" - that violate the exclusivity rule will not be allowed. + that violate the exclusivity rule with its siblings will not + be allowed.
A valid non-root parent partition may distribute out all its CPUs to its child partitions when there is no task associated with it.