aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/sched/core.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 771eb8762df4..9c2fcbf9a266 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3442,8 +3442,13 @@ change:
3442 3442
3443 if (running) 3443 if (running)
3444 p->sched_class->set_curr_task(rq); 3444 p->sched_class->set_curr_task(rq);
3445 if (on_rq) 3445 if (on_rq) {
3446 enqueue_task(rq, p, 0); 3446 /*
3447 * We enqueue to tail when the priority of a task is
3448 * increased (user space view).
3449 */
3450 enqueue_task(rq, p, oldprio <= p->prio ? ENQUEUE_HEAD : 0);
3451 }
3447 3452
3448 check_class_changed(rq, p, prev_class, oldprio); 3453 check_class_changed(rq, p, prev_class, oldprio);
3449 task_rq_unlock(rq, p, &flags); 3454 task_rq_unlock(rq, p, &flags);