diff options
| author | Wanpeng Li <wanpeng.li@linux.intel.com> | 2014-10-13 22:22:40 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2014-10-28 05:48:02 -0400 |
| commit | f4e9d94a5bf60193d45f92b136e3d166be3ec8d5 (patch) | |
| tree | cc5b69ef98a81450aff3d548b155b293b047ca30 /kernel/sched | |
| parent | 1d7e974cbf2fce2683f34ff33c173fd7ef5478c7 (diff) | |
sched/deadline: Don't balance during wakeup if wakee is pinned
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>
Diffstat (limited to 'kernel/sched')
| -rw-r--r-- | kernel/sched/deadline.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index fab3bf81bb7c..2e31a30e623c 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c | |||
| @@ -933,6 +933,9 @@ select_task_rq_dl(struct task_struct *p, int cpu, int sd_flag, int flags) | |||
| 933 | struct task_struct *curr; | 933 | struct task_struct *curr; |
| 934 | struct rq *rq; | 934 | struct rq *rq; |
| 935 | 935 | ||
| 936 | if (p->nr_cpus_allowed == 1) | ||
| 937 | goto out; | ||
| 938 | |||
| 936 | if (sd_flag != SD_BALANCE_WAKE) | 939 | if (sd_flag != SD_BALANCE_WAKE) |
| 937 | goto out; | 940 | goto out; |
| 938 | 941 | ||
