lkml.org 
[lkml]   [2015]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH][RT 4.1] sched/rt: Have the schedule IPI irq_work run in hard irq context

[ Sebastian, you'll need this for porting to 4.1 ]

As the sched rt pull work has moved to using irq_work IPI, having it
delayed to threading pretty much defeats the purpose. The handle also
expects interrupts to be disabled when called as it takes the rq locks.

Set the rt push ipi irq_work handle flag HARD_IRQ

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
kernel/sched/rt.c | 1 +
1 file changed, 1 insertion(+)

Index: linux-test.git/kernel/sched/rt.c
===================================================================
--- linux-test.git.orig/kernel/sched/rt.c 2015-06-17 09:30:02.430137824 -0400
+++ linux-test.git/kernel/sched/rt.c 2015-06-17 15:30:57.543881386 -0400
@@ -90,6 +90,7 @@ void init_rt_rq(struct rt_rq *rt_rq)
rt_rq->push_cpu = nr_cpu_ids;
raw_spin_lock_init(&rt_rq->push_lock);
init_irq_work(&rt_rq->push_work, push_irq_work_func);
+ rt_rq->push_work.flags |= IRQ_WORK_HARD_IRQ;
#endif
#endif /* CONFIG_SMP */
/* We start is dequeued state, because no RT tasks are queued */

\
 
 \ /
  Last update: 2015-06-17 22:21    [W:0.022 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site