sched/deadline: Don't balance during wakeup if wakee is pinned
authorWanpeng Li <wanpeng.li@linux.intel.com>
Tue, 14 Oct 2014 02:22:40 +0000 (10:22 +0800)
committerIngo Molnar <mingo@kernel.org>
Tue, 28 Oct 2014 09:48:02 +0000 (10:48 +0100)
Use nr_cpus_allowed to bail from select_task_rq() when only one cpu
can be used, and saves some cycles for pinned tasks.

Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1413253360-5318-2-git-send-email-wanpeng.li@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/deadline.c

index fab3bf81bb7c2e57a1235b34a21666e805f2b26f..2e31a30e623c220401ddd9bd2edf48130610235c 100644 (file)
@@ -933,6 +933,9 @@ select_task_rq_dl(struct task_struct *p, int cpu, int sd_flag, int flags)
        struct task_struct *curr;
        struct rq *rq;
 
+       if (p->nr_cpus_allowed == 1)
+               goto out;
+
        if (sd_flag != SD_BALANCE_WAKE)
                goto out;