|
@@ -4249,7 +4249,7 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
int oldprio, on_rq, running;
|
|
int oldprio, on_rq, running;
|
|
struct rq *rq;
|
|
struct rq *rq;
|
|
- const struct sched_class *prev_class = p->sched_class;
|
|
|
|
|
|
+ const struct sched_class *prev_class;
|
|
|
|
|
|
BUG_ON(prio < 0 || prio > MAX_PRIO);
|
|
BUG_ON(prio < 0 || prio > MAX_PRIO);
|
|
|
|
|
|
@@ -4257,6 +4257,7 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
|
|
update_rq_clock(rq);
|
|
update_rq_clock(rq);
|
|
|
|
|
|
oldprio = p->prio;
|
|
oldprio = p->prio;
|
|
|
|
+ prev_class = p->sched_class;
|
|
on_rq = p->se.on_rq;
|
|
on_rq = p->se.on_rq;
|
|
running = task_current(rq, p);
|
|
running = task_current(rq, p);
|
|
if (on_rq)
|
|
if (on_rq)
|
|
@@ -4476,7 +4477,7 @@ static int __sched_setscheduler(struct task_struct *p, int policy,
|
|
{
|
|
{
|
|
int retval, oldprio, oldpolicy = -1, on_rq, running;
|
|
int retval, oldprio, oldpolicy = -1, on_rq, running;
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
- const struct sched_class *prev_class = p->sched_class;
|
|
|
|
|
|
+ const struct sched_class *prev_class;
|
|
struct rq *rq;
|
|
struct rq *rq;
|
|
int reset_on_fork;
|
|
int reset_on_fork;
|
|
|
|
|
|
@@ -4590,6 +4591,7 @@ recheck:
|
|
p->sched_reset_on_fork = reset_on_fork;
|
|
p->sched_reset_on_fork = reset_on_fork;
|
|
|
|
|
|
oldprio = p->prio;
|
|
oldprio = p->prio;
|
|
|
|
+ prev_class = p->sched_class;
|
|
__setscheduler(rq, p, policy, param->sched_priority);
|
|
__setscheduler(rq, p, policy, param->sched_priority);
|
|
|
|
|
|
if (running)
|
|
if (running)
|