Hello, On Mon, Jun 13, 2022 at 07:55:49PM +0200, Michal Koutný wrote: > On Mon, Jun 13, 2022 at 07:28:25AM -1000, Tejun Heo <tj@xxxxxxxxxx> wrote: > > I see. Is this part even necessary? All the .cpus files of the siblings are > > owned by the parent who's responsible for configuring both the mode that the > > cgroup subtree is gonna be in and their cpumasks. > > Do you mean such an example: > > parent cpuset.cpus=SET (root) cpuset.cpus.partition=isolated > `- child_1 cpuset.cpus=partition_of(SET) (root) cpuset.cpus.partition=isolated > `- ... > `- child_n cpuset.cpus=partition_of(SET) (root) cpuset.cpus.partition=isolated > ? > > I don't think child_*/cpuset.cpus must be owned by root. I meant the parent. > Actually, the root would only configure the parent, i.e. > parent/cpuset.cpus (whose changes would be disallowed to the > unprivileged tasks) and the distribution among siblings would up to the > whatever runs below. > > > Given that all the other errors it can make are notified through > > "invalid (REASON)" in the mode file, wouldn't it fit better to notify > > cpus configuration error the same way too? > > Do you suggest that a write into child_*/cpuset.cpus that'd not be > exclusive wrt a sibling would result in an error string in > parent/cpuset.cpus.partition? Yeah, I don't know why this part is different from any other errors that the parent can make. Thanks. -- tejun