aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZqiang <qiang.zhang@linux.dev>2025-11-17 20:53:10 +0800
committerTejun Heo <tj@kernel.org>2025-11-17 05:07:22 -1000
commit36c6f3c03d104faf1aa90922f2310549c175420f (patch)
treebc03139d39526a712f3c90af5758226bcabae889
parenta257e974210320ede524f340ffe16bf4bf0dda1e (diff)
downloadlinux-36c6f3c03d104faf1aa90922f2310549c175420f.tar.gz
sched_ext: Use IRQ_WORK_INIT_HARD() to initialize rq->scx.kick_cpus_irq_work
For PREEMPT_RT kernels, the kick_cpus_irq_workfn() be invoked in the per-cpu irq_work/* task context and there is no rcu-read critical section to protect. this commit therefore use IRQ_WORK_INIT_HARD() to initialize the per-cpu rq->scx.kick_cpus_irq_work in the init_sched_ext_class(). Signed-off-by: Zqiang <qiang.zhang@linux.dev> Signed-off-by: Tejun Heo <tj@kernel.org>
-rw-r--r--kernel/sched/ext.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
index 07399210ac2d9a..7aae1d0ce37e64 100644
--- a/kernel/sched/ext.c
+++ b/kernel/sched/ext.c
@@ -5322,7 +5322,7 @@ void __init init_sched_ext_class(void)
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));
rq->scx.deferred_irq_work = IRQ_WORK_INIT_HARD(deferred_irq_workfn);
- init_irq_work(&rq->scx.kick_cpus_irq_work, kick_cpus_irq_workfn);
+ rq->scx.kick_cpus_irq_work = IRQ_WORK_INIT_HARD(kick_cpus_irq_workfn);
if (cpu_online(cpu))
cpu_rq(cpu)->scx.flags |= SCX_RQ_ONLINE;