diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2015-08-09 07:18:54 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2015-08-09 07:20:32 -0400 |
commit | 2720985a7f2141baed0fcf97f3ffddbf25442d9d (patch) | |
tree | 409423b4cbdff4c92f310f2fc78948be8f72298e | |
parent | c14af815369241598308018ddec195605c058839 (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.c | 5 |
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)) |