Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

sched_ext: Sync error_irq_work before freeing scx_sched

By the time scx_sched_free_rcu_work() runs, the scx_sched is no longer
reachable. However, a previously queued error_irq_work may still be pending or
running. Ensure it completes before proceeding with teardown.

Fixes: bff3b5aec1b7 ("sched_ext: Move disable machinery into scx_sched")
Acked-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>

Tejun Heo efeeaac9 54e96258

+2
+2
kernel/sched/ext.c
··· 3471 3471 struct scx_dispatch_q *dsq; 3472 3472 int node; 3473 3473 3474 + irq_work_sync(&sch->error_irq_work); 3474 3475 kthread_stop(sch->helper->task); 3476 + 3475 3477 free_percpu(sch->pcpu); 3476 3478 3477 3479 for_each_node_state(node, N_POSSIBLE)