• Peter Zijlstra's avatar
    sched: Remove rq->clock coupling from set_task_cpu() · 5afcdab7
    Peter Zijlstra authored
    set_task_cpu() should be rq invariant and only touch task state, it
    currently fails to do so, which opens up a few races, since not all
    callers hold both rq->locks.
    
    Remove the relyance on rq->clock, as any site calling set_task_cpu()
    should also do a remote clock update, which should ensure the observed
    time between these two cpus is monotonic, as per
    kernel/sched_clock.c:sched_clock_remote().
    
    Therefore we can simply remove the clock_offset bits and be happy.
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <new-submission>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    5afcdab7
sched.c 269 KB