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>2015-08-09 07:20:32 -0400
commit2720985a7f2141baed0fcf97f3ffddbf25442d9d (patch)
tree409423b4cbdff4c92f310f2fc78948be8f72298e
parentc14af815369241598308018ddec195605c058839 (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 60592df6ec1b..fc59abe463e8 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -570,6 +570,11 @@ void resched_curr(struct rq *rq)
570 set_tsk_need_resched(curr); 570 set_tsk_need_resched(curr);
571 set_preempt_need_resched(); 571 set_preempt_need_resched();
572 return; 572 return;
573 } else if (is_realtime(curr)) {
574 /* Cannot call set_tsk_need_resched() on LITMUS^RT task
575 * on remote core. Only policy plugins may do this via
576 * litmus_reschedule(). */
577 return;
573 } 578 }
574 579
575 if (set_nr_and_not_polling(curr)) 580 if (set_nr_and_not_polling(curr))