Re: [PATCH v7 08/22] cpuset: Don't use the cpu_possible_mask as a last resort for cgroup v1

From: Peter Zijlstra
Date: Wed May 26 2021 - 11:02:49 EST


On Tue, May 25, 2021 at 04:14:18PM +0100, Will Deacon wrote:
> void cpuset_cpus_allowed_fallback(struct task_struct *tsk)
> {
> + const struct cpumask *cs_mask;
> + const struct cpumask *possible_mask = task_cpu_possible_mask(tsk);
> +
> rcu_read_lock();
> + cs_mask = task_cs(tsk)->cpus_allowed;
> +
> + if (!is_in_v2_mode() || !cpumask_subset(cs_mask, possible_mask))
> + goto unlock; /* select_fallback_rq will try harder */
> +
> + do_set_cpus_allowed(tsk, cs_mask);
> +unlock:

if (is_in_v2_mode() && cpumask_subset(cs_mask, possible_mask))
do_set_cpus_allowed(tsk, cs_mask);

perhaps?