diff options
author | Wanpeng Li <wanpeng.li@linux.intel.com> | 2015-03-10 00:20:00 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-03-10 00:46:50 -0400 |
commit | 44fb085bfa17628c6d2aaa6af6b292a8499e9cbd (patch) | |
tree | b36a7e11fa7cb3bf9dfb86c56c72431ab86b773e | |
parent | 1e78cdbd9b2266503339accafe0ebdd99b93a531 (diff) |
sched/deadline: Add rq->clock update skip for dl task yield
This patch adds rq->clock update skip for SCHED_DEADLINE task yield,
to tell update_rq_clock() that we've just updated the clock, so that
we don't do a microscopic update in schedule() and double the
fastpath cost.
Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
Cc: Juri Lelli <juri.lelli@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1425961200-3809-1-git-send-email-wanpeng.li@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | kernel/sched/deadline.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 3fa8fa6d9403..0a81a954c041 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c | |||
@@ -914,6 +914,12 @@ static void yield_task_dl(struct rq *rq) | |||
914 | } | 914 | } |
915 | update_rq_clock(rq); | 915 | update_rq_clock(rq); |
916 | update_curr_dl(rq); | 916 | update_curr_dl(rq); |
917 | /* | ||
918 | * Tell update_rq_clock() that we've just updated, | ||
919 | * so we don't do microscopic update in schedule() | ||
920 | * and double the fastpath cost. | ||
921 | */ | ||
922 | rq_clock_skip_update(rq, true); | ||
917 | } | 923 | } |
918 | 924 | ||
919 | #ifdef CONFIG_SMP | 925 | #ifdef CONFIG_SMP |