Re: [PATCH v4 4/6] cgroup/cpuset: Allow non-top parent partition root to distribute out all CPUs

From: Waiman Long
Date: Wed Aug 11 2021 - 14:46:33 EST


On 8/11/21 2:21 PM, Tejun Heo wrote:
On Wed, Aug 11, 2021 at 02:18:17PM -0400, Waiman Long wrote:
I don't think that is true. A task can reside anywhere in the cgroup
hierarchy. I have encountered no problem moving tasks around.
Oh, that shouldn't be happening with controllers enabled. Can you please
share a repro?

I have done further testing. Enabling controllers won't prohibit moving a task into a parent cgroup as long as the child cgroups have no tasks. Once the child cgroup has task, moving another task to the parent is not allowed (-EBUSY). Similarly if a parent cgroup has tasks, you can't put new tasks into the child cgroup. I don't realize that we have such constraints as I usually do my testing with a cgroup hierarchy with no tasks initially. Anyway, a new lesson learned.

I will try to see how to address that in the patch, but the additional check added is still valid in some special case.

Cheers,
Longman