sched/fair: Introduce set_curr_task() helper
Now that the ia64 only set_curr_task() symbol is gone, provide a helper just like put_prev_task(). Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
a458ae2ea6
commit
b2bf6c314e
2 changed files with 10 additions and 5 deletions
|
@ -1112,7 +1112,7 @@ void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
|
|||
if (queued)
|
||||
enqueue_task(rq, p, ENQUEUE_RESTORE);
|
||||
if (running)
|
||||
p->sched_class->set_curr_task(rq);
|
||||
set_curr_task(rq, p);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -3710,7 +3710,7 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
|
|||
if (queued)
|
||||
enqueue_task(rq, p, queue_flag);
|
||||
if (running)
|
||||
p->sched_class->set_curr_task(rq);
|
||||
set_curr_task(rq, p);
|
||||
|
||||
check_class_changed(rq, p, prev_class, oldprio);
|
||||
out_unlock:
|
||||
|
@ -4274,7 +4274,7 @@ static int __sched_setscheduler(struct task_struct *p,
|
|||
enqueue_task(rq, p, queue_flags);
|
||||
}
|
||||
if (running)
|
||||
p->sched_class->set_curr_task(rq);
|
||||
set_curr_task(rq, p);
|
||||
|
||||
check_class_changed(rq, p, prev_class, oldprio);
|
||||
preempt_disable(); /* avoid rq from going away on us */
|
||||
|
@ -5442,7 +5442,7 @@ void sched_setnuma(struct task_struct *p, int nid)
|
|||
if (queued)
|
||||
enqueue_task(rq, p, ENQUEUE_RESTORE);
|
||||
if (running)
|
||||
p->sched_class->set_curr_task(rq);
|
||||
set_curr_task(rq, p);
|
||||
task_rq_unlock(rq, p, &rf);
|
||||
}
|
||||
#endif /* CONFIG_NUMA_BALANCING */
|
||||
|
@ -7952,7 +7952,7 @@ void sched_move_task(struct task_struct *tsk)
|
|||
if (queued)
|
||||
enqueue_task(rq, tsk, ENQUEUE_RESTORE | ENQUEUE_MOVE);
|
||||
if (unlikely(running))
|
||||
tsk->sched_class->set_curr_task(rq);
|
||||
set_curr_task(rq, tsk);
|
||||
|
||||
task_rq_unlock(rq, tsk, &rf);
|
||||
}
|
||||
|
|
|
@ -1274,6 +1274,11 @@ static inline void put_prev_task(struct rq *rq, struct task_struct *prev)
|
|||
prev->sched_class->put_prev_task(rq, prev);
|
||||
}
|
||||
|
||||
static inline void set_curr_task(struct rq *rq, struct task_struct *curr)
|
||||
{
|
||||
curr->sched_class->set_curr_task(rq);
|
||||
}
|
||||
|
||||
#define sched_class_highest (&stop_sched_class)
|
||||
#define for_each_class(class) \
|
||||
for (class = sched_class_highest; class; class = class->next)
|
||||
|
|
Loading…
Reference in a new issue