Re: [PATCH v6 3/5] sched: Enforce user requested affinity

From: Waiman Long
Date: Wed Aug 31 2022 - 16:49:03 EST



On 8/31/22 05:18, Peter Zijlstra wrote:
On Thu, Aug 25, 2022 at 09:01:17PM -0400, Waiman Long wrote:

@@ -9352,6 +9381,11 @@ int sched_cpu_activate(unsigned int cpu)
sched_update_numa(cpu, true);
sched_domains_numa_masks_set(cpu);
cpuset_cpu_active();
+ /*
+ * Preallocated scratch cpumask
+ */
+ if (!rq->scratch_mask)
+ rq->scratch_mask = kmalloc(cpumask_size(), GFP_KERNEL);
}
this is too late; I think you'll have to add a sched_cpu_prepare() and
simply fail the cpu-up when the allocation fails.

That is the reason why I have a fallback allocation in __set_cpus_allowed_ptr(). Thanks for the suggestion, I will looking into doing that.

Cheers,
Longman