Hello.
On Fri, Mar 17, 2023 at 11:15:07AM -0400, Waiman Long longman@redhat.com wrote:
- Iterate through each task of @cs updating its cpus_allowed to the
- effective cpuset's. As this function is called with cpuset_rwsem held,
- cpuset membership stays stable.
- cpuset membership stays stable. For top_cpuset, task_cpu_possible_mask()
- is used instead of effective_cpus to make sure all offline CPUs are also
*/
- included as hotplug code won't update cpumasks for tasks in top_cpuset.
On Wed, Mar 15, 2023 at 11:06:20AM +0100, Michal Koutný mkoutny@suse.com wrote:
I see now that it returns offlined cpus to top cpuset's tasks.
I considered only the "base" set change cs->effective_cpus -> possible_mask. (Apologies for that mistake.)
However, I now read the note about subparts_cpus
* effective_cpus contains only onlined CPUs, but subparts_cpus * may have offlined ones.
So if subpart_cpus keeps offlined CPUs, they will be subtracted from possible_mask and absent in the resulting new_cpus, i.e. undesirable for the tasks in that cpuset :-/
Michal