mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
sched_ext: Take NUMA node into account when allocating per-CPU cpumasks
per-CPU cpumasks are dominantly accessed from their own local CPUs, so allocate them node-local to improve performance. Signed-off-by: Li RongQing <lirongqing@baidu.com> Acked-by: Changwoo Min <changwoo@igalia.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
372033ad9e
commit
1a4e0d8682
|
|
@ -5998,15 +5998,16 @@ void __init init_sched_ext_class(void)
|
|||
|
||||
for_each_possible_cpu(cpu) {
|
||||
struct rq *rq = cpu_rq(cpu);
|
||||
int n = cpu_to_node(cpu);
|
||||
|
||||
init_dsq(&rq->scx.local_dsq, SCX_DSQ_LOCAL);
|
||||
INIT_LIST_HEAD(&rq->scx.runnable_list);
|
||||
INIT_LIST_HEAD(&rq->scx.ddsp_deferred_locals);
|
||||
|
||||
BUG_ON(!zalloc_cpumask_var(&rq->scx.cpus_to_kick, GFP_KERNEL));
|
||||
BUG_ON(!zalloc_cpumask_var(&rq->scx.cpus_to_kick_if_idle, GFP_KERNEL));
|
||||
BUG_ON(!zalloc_cpumask_var(&rq->scx.cpus_to_preempt, GFP_KERNEL));
|
||||
BUG_ON(!zalloc_cpumask_var(&rq->scx.cpus_to_wait, GFP_KERNEL));
|
||||
BUG_ON(!zalloc_cpumask_var_node(&rq->scx.cpus_to_kick, GFP_KERNEL, n));
|
||||
BUG_ON(!zalloc_cpumask_var_node(&rq->scx.cpus_to_kick_if_idle, GFP_KERNEL, n));
|
||||
BUG_ON(!zalloc_cpumask_var_node(&rq->scx.cpus_to_preempt, GFP_KERNEL, n));
|
||||
BUG_ON(!zalloc_cpumask_var_node(&rq->scx.cpus_to_wait, GFP_KERNEL, n));
|
||||
init_irq_work(&rq->scx.deferred_irq_work, deferred_irq_workfn);
|
||||
init_irq_work(&rq->scx.kick_cpus_irq_work, kick_cpus_irq_workfn);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user