aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched.c')
-rw-r--r--kernel/sched.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index c6827f94e156..e1f57bd5aaa6 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3508,25 +3508,24 @@ void set_user_nice(task_t *p, long nice)
3508 * not SCHED_NORMAL: 3508 * not SCHED_NORMAL:
3509 */ 3509 */
3510 if (rt_task(p)) { 3510 if (rt_task(p)) {
3511 dec_prio_bias(rq, p->static_prio);
3512 p->static_prio = NICE_TO_PRIO(nice); 3511 p->static_prio = NICE_TO_PRIO(nice);
3513 inc_prio_bias(rq, p->static_prio);
3514 goto out_unlock; 3512 goto out_unlock;
3515 } 3513 }
3516 array = p->array; 3514 array = p->array;
3517 if (array) 3515 if (array) {
3518 dequeue_task(p, array); 3516 dequeue_task(p, array);
3517 dec_prio_bias(rq, p->static_prio);
3518 }
3519 3519
3520 old_prio = p->prio; 3520 old_prio = p->prio;
3521 new_prio = NICE_TO_PRIO(nice); 3521 new_prio = NICE_TO_PRIO(nice);
3522 delta = new_prio - old_prio; 3522 delta = new_prio - old_prio;
3523 dec_prio_bias(rq, p->static_prio);
3524 p->static_prio = NICE_TO_PRIO(nice); 3523 p->static_prio = NICE_TO_PRIO(nice);
3525 inc_prio_bias(rq, p->static_prio);
3526 p->prio += delta; 3524 p->prio += delta;
3527 3525
3528 if (array) { 3526 if (array) {
3529 enqueue_task(p, array); 3527 enqueue_task(p, array);
3528 inc_prio_bias(rq, p->static_prio);
3530 /* 3529 /*
3531 * If the task increased its priority or is running and 3530 * If the task increased its priority or is running and
3532 * lowered its priority, then reschedule its CPU: 3531 * lowered its priority, then reschedule its CPU: