Re: [PATCH v11 3/8] cgroup/cpuset: Allow no-task partition to have empty cpuset.cpus.effective

Waiman Long
2022-06-13T02:54:01Z

On 6/12/22 13:41, Tejun Heo wrote:
> On Sun, Jun 12, 2022 at 07:40:25AM -1000, Tejun Heo wrote:
>> Hello,
>>
>> Sorry about the long delay.
>>
>> On Tue, May 10, 2022 at 11:34:08AM -0400, Waiman Long wrote:
>>> Once a partition with empty "cpuset.cpus.effective" is formed, no
>>> new task can be moved into it until "cpuset.cpus.effective" becomes
>>> non-empty.
>> This is always true due to no-tasks-in-intermediate-cgroups requirement,
>> right?
> or rather, I should have asked, why does this need an explicit check?

Without this patch, cpus.effective will never be empty. It just falls
back to its parent if it becomes empty. Now with an empty
cpus.effective, I am afraid that if a task is somehow moved to such a
cpuset, something bad may happen. So I add this check as a safeguard.

Cheers,
Longman