sched/deadline: Add rq->clock update skip for dl task yield
authorWanpeng Li <wanpeng.li@linux.intel.com>
Tue, 10 Mar 2015 04:20:00 +0000 (12:20 +0800)
committerIngo Molnar <mingo@kernel.org>
Tue, 10 Mar 2015 04:46:50 +0000 (05:46 +0100)
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>
kernel/sched/deadline.c

index 3fa8fa6d940300c1fbae721503aad2666f72b4e5..0a81a954c0410595b03c331bdf9c88bc6a6d1852 100644 (file)
@@ -914,6 +914,12 @@ static void yield_task_dl(struct rq *rq)
        }
        update_rq_clock(rq);
        update_curr_dl(rq);
+       /*
+        * Tell update_rq_clock() that we've just updated,
+        * so we don't do microscopic update in schedule()
+        * and double the fastpath cost.
+        */
+       rq_clock_skip_update(rq, true);
 }
 
 #ifdef CONFIG_SMP