sched: Cleanup/optimize clock updates
authorMike Galbraith <efault@gmx.de>
Thu, 11 Mar 2010 16:16:20 +0000 (17:16 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 11 Mar 2010 17:32:50 +0000 (18:32 +0100)
commita64692a3afd85fe048551ab89142fd5ca99a0dbd
tree7d2800efb7fb9e3aa5c99ab883004932fdc362c6
parente12f31d3e5d36328c7fbd0fce40a95e70b59152c
sched: Cleanup/optimize clock updates

Now that we no longer depend on the clock being updated prior to enqueueing
on migratory wakeup, we can clean up a bit, placing calls to update_rq_clock()
exactly where they are needed, ie on enqueue, dequeue and schedule events.

In the case of a freshly enqueued task immediately preempting, we can skip the
update during preemption, as the clock was just updated by the enqueue event.
We also save an unneeded call during a migratory wakeup by not updating the
previous runqueue, where update_curr() won't be invoked.

Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1268301199.6785.32.camel@marge.simson.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched.c
kernel/sched_fair.c