From: Mike Kravetz <kravetz@xxxxxxxxxx> RESCHED_IPIs can be missed if more than one RT task is awoken simultaneously Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Gregory Haskins <ghaskins@xxxxxxxxxx> --- kernel/sched.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c index 93fd6de..3e75c62 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2207,7 +2207,7 @@ static inline void finish_task_switch(struct rq *rq, struct task_struct *prev) * If we pushed an RT task off the runqueue, * then kick other CPUs, they might run it: */ - if (unlikely(rt_task(current) && prev->se.on_rq && rt_task(prev))) { + if (unlikely(rt_task(current) && rq->rt_nr_running > 1)) { schedstat_inc(rq, rto_schedule); smp_send_reschedule_allbutself_cpumask(current->cpus_allowed); } - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html