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/

Reply via email to