Skip to content

Commit da6ff09

Browse files
Sebastian Andrzej SiewiorPeter Zijlstra
authored andcommitted
sched/rt: Annotate the RT balancing logic irqwork as IRQ_WORK_HARD_IRQ
The push-IPI logic for RT tasks expects to be invoked from hardirq context. One reason is that a RT task on the remote CPU would block the softirq processing on PREEMPT_RT and so avoid pulling / balancing the RT tasks as intended. Annotate root_domain::rto_push_work as IRQ_WORK_HARD_IRQ. Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
1 parent 66558b7 commit da6ff09

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

kernel/sched/topology.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,7 @@ static int init_rootdomain(struct root_domain *rd)
526526
#ifdef HAVE_RT_PUSH_IPI
527527
rd->rto_cpu = -1;
528528
raw_spin_lock_init(&rd->rto_lock);
529-
init_irq_work(&rd->rto_push_work, rto_push_irq_work_func);
529+
rd->rto_push_work = IRQ_WORK_INIT_HARD(rto_push_irq_work_func);
530530
#endif
531531

532532
rd->visit_gen = 0;

0 commit comments

Comments
 (0)