From 2720985a7f2141baed0fcf97f3ffddbf25442d9d Mon Sep 17 00:00:00 2001 From: Bjoern Brandenburg Date: Sun, 9 Aug 2015 13:18:54 +0200 Subject: Don't call set_tsk_need_resched() on remote LITMUS^RT task This patch fixes a BUG_ON() in litmus/preempt.c. --- kernel/sched/core.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 60592df6ec1b..fc59abe463e8 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -570,6 +570,11 @@ void resched_curr(struct rq *rq) set_tsk_need_resched(curr); set_preempt_need_resched(); return; + } else if (is_realtime(curr)) { + /* Cannot call set_tsk_need_resched() on LITMUS^RT task + * on remote core. Only policy plugins may do this via + * litmus_reschedule(). */ + return; } if (set_nr_and_not_polling(curr)) -- cgit v1.2.2