Re: [PATCH 1/2] cpuset: Fix cpuset_cpus_allowed() to not filter offline CPUs

From: Waiman Long
Date: Fri Feb 03 2023 - 10:36:22 EST



On 2/3/23 10:26, Peter Zijlstra wrote:
On Fri, Feb 03, 2023 at 10:13:10AM -0500, Waiman Long wrote:

I think I know where the problem is. It is due to the fact the cpuset
hotplug code doesn't update cpumasks of the tasks in the top cpuset (root)
at all when there is a cpu offline or online event. It is probably because
for some of the tasks in the top cpuset, especially the percpu kthread,
changing their cpumasks can be catastrophic. The hotplug code does update
the cpumasks of the tasks that are not in the top cpuset. This problem is
irrespective of whether v1 or v2 is in use.
I've been saying this exact thing for how many mails now?

My bad. The fact that sched_getaffinity() masks off the offline cpus makes me thought incorrectly that tasks in the top cpuset were also updated by the hotplug code. Further testing indicates this is the case.

Thanks,
Longman