aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--litmus/sched_litmus.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/litmus/sched_litmus.c b/litmus/sched_litmus.c
index c65388969789..52afec278ec8 100644
--- a/litmus/sched_litmus.c
+++ b/litmus/sched_litmus.c
@@ -157,6 +157,16 @@ static void enqueue_task_litmus(struct rq *rq, struct task_struct *p,
157 if (wakeup) { 157 if (wakeup) {
158 sched_trace_task_resume(p); 158 sched_trace_task_resume(p);
159 tsk_rt(p)->present = 1; 159 tsk_rt(p)->present = 1;
160 /* LITMUS^RT plugins need to update the state
161 * _before_ making it available in global structures.
162 * Linux gets away with being lazy about the task state
163 * update. We can't do that, hence we update the task
164 * state already here.
165 *
166 * WARNING: this needs to be re-evaluated when porting
167 * to newer kernel versions.
168 */
169 p->state = TASK_RUNNING;
160 litmus->task_wake_up(p); 170 litmus->task_wake_up(p);
161 171
162 rq->litmus.nr_running++; 172 rq->litmus.nr_running++;