• Mike Galbraith's avatar
    sched: Cleanup/optimize clock updates · a64692a3
    Mike Galbraith authored
    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: default avatarMike Galbraith <efault@gmx.de>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1268301199.6785.32.camel@marge.simson.net>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    a64692a3
sched.c 217 KB