On 11/30/21 12:11, Tejun Heo wrote:
Once becoming a partition root, the following two rules restrictWhile it isn't necessarily tied to this series, it's a big no-no to restrict
what changes can be made to "cpuset.cpus".
1) The value must be exclusive.
2) If child cpusets exist, the value must be a superset of what
are defined in the child cpusets.
The second rule applies even for "member". Other changes to
"cpuset.cpus" that do not violate the above rules are always
allowed.
what a parent can do depending on what its descendants are doing. A cgroup
higher up in the hierarchy should be able to change configuration however it
sees fit as deligation breaks down otherwise.
Maybe you can argue that cpuset is special and shouldn't be subject to such
convention but I can't see strong enough justifications especially given
that most of these restrictions can be broken by hotplug operations anyway
and thus need code to handle those situations.
These are all pre-existing restrictions before the introduction of partition. These are checks done in validate_change(). I am just saying out loud the existing behavior. If you think that needs to be changed, I am fine with that. However, it will be a separate patch as it is not a behavior that is introduced by this series.