Hello.
On Fri, Mar 17, 2023 at 11:15:07AM -0400, Waiman Long <longman@xxxxxxxxxx> wrote:
* Iterate through each task of @cs updating its cpus_allowed to theOn Wed, Mar 15, 2023 at 11:06:20AM +0100, Michal Koutný <mkoutny@xxxxxxxx> wrote:
* 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.
*/
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_cpusSo if subpart_cpus keeps offlined CPUs, they will be subtracted from
* may have offlined ones.
possible_mask and absent in the resulting new_cpus, i.e. undesirable for
the tasks in that cpuset :-/