diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2015-08-09 07:18:54 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2017-05-26 17:12:36 -0400 |
commit | 2b4c96ec046bd9cf9264466f7b74cd902671d199 (patch) | |
tree | eaadc3b57dfaafe1c7b872aff077efd0456ea0e0 | |
parent | a595668af66abe391bcbae9bb2dc4bd07514aa69 (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 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)) |