Priority of the running task can change at run-time due to
PI boosting / nice, so be sure to update the RQ version of
the priority as well.
Signed-off-by: Gregory Haskins <[email protected]>
---
kernel/sched.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/kernel/sched.c b/kernel/sched.c
index b69e49b..bc9f4a6 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -4656,6 +4656,7 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
* this runqueue and our priority is higher than the current's
*/
if (task_running(rq, p)) {
+ set_rq_prio(rq, p->prio);
if (p->prio > oldprio)
resched_task(rq->curr);
} else {
@@ -4715,6 +4716,9 @@ void set_user_nice(struct task_struct *p, long nice)
*/
if (delta < 0 || (delta > 0 && task_running(rq, p)))
resched_task(rq->curr);
+
+ if (delta && task_running(rq, p))
+ set_rq_prio(rq, p->prio);
}
out_unlock:
task_rq_unlock(rq, &flags);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]