aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2015-08-09 07:18:54 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2017-05-26 17:12:36 -0400
commit2b4c96ec046bd9cf9264466f7b74cd902671d199 (patch)
treeeaadc3b57dfaafe1c7b872aff077efd0456ea0e0
parenta595668af66abe391bcbae9bb2dc4bd07514aa69 (diff)
Don't call set_tsk_need_resched() on remote LITMUS^RT task
This patch fixes a BUG_ON() in litmus/preempt.c.
-rw-r--r--kernel/sched/core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 9000182dc742..89a966ee63fc 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -499,6 +499,11 @@ void resched_curr(struct rq *rq)
499 set_tsk_need_resched(curr); 499 set_tsk_need_resched(curr);
500 set_preempt_need_resched(); 500 set_preempt_need_resched();
501 return; 501 return;
502 } else if (is_realtime(curr)) {
503 /* Cannot call set_tsk_need_resched() on LITMUS^RT task
504 * on remote core. Only policy plugins may do this via
505 * litmus_reschedule(). */
506 return;
502 } 507 }
503 508
504 if (set_nr_and_not_polling(curr)) 509 if (set_nr_and_not_polling(curr))