On Wed, Feb 15, 2017 at 02:11:51PM +0900, Byungchul Park wrote: > Once pick_next_pushable_dl_task(rq) return a task, it guarantees that > the task's cpu is rq->cpu, so task_cpu(next_task) is always rq->cpu if > task == next_task. Remove a redundant condition and make code simpler.
Furthermore, unnecessary one branch and unnecessary two LOAD operations in 'if' statement can be avoided. > > Signed-off-by: Byungchul Park <byungchul.p...@lge.com> > --- > kernel/sched/deadline.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c > index 27737f3..ad8d577 100644 > --- a/kernel/sched/deadline.c > +++ b/kernel/sched/deadline.c > @@ -1483,7 +1483,7 @@ static int push_dl_task(struct rq *rq) > * then possible that next_task has migrated. > */ > task = pick_next_pushable_dl_task(rq); > - if (task_cpu(next_task) == rq->cpu && task == next_task) { > + if (task == next_task) { > /* > * The task is still there. We don't try > * again, some other cpu will pull it when ready. > -- > 1.9.1