On Tue, Nov 30, 2021 at 10:56:34PM -0500, Waiman Long <longman@xxxxxxxxxx> wrote:Right, I shouldn't say corner cases. Having task in an intermediate partition is possible depending on event sequence. I am aware that there are code in the cpuset code to prevent that, but it didn't block all cases.
Just mind the threads -- cpuset controller is threaded and having tasksI believe there is some corner cases where it is possible to put task in anA valid parent partition may distribute out all its CPUs toA valid parent partition which isn't root never has tasks in them to begin
its child partitions as long as it is not the root cgroup and
there is no task associated with it.
with.
intermediate partition. That is why I put down this statement.
in inner cgroup nodes is a real scenario. I wouldn't consider it a
corner case.
[ Actually, the paragraph could IMO be simplified:
A valid parent partition may distribute out all its CPUs toAssuming there's always at least one kernel thread in the root cgroup
its child partitions as long as there is no task associated with it.
that can't be migrated anyway.]