• Mike Galbraith's avatar
    sched: Remove avg_overlap · e12f31d3
    Mike Galbraith authored
    Both avg_overlap and avg_wakeup had an inherent problem in that their accuracy
    was detrimentally affected by cross-cpu wakeups, this because we are missing
    the necessary call to update_curr().  This can't be fixed without increasing
    overhead in our already too fat fastpath.
    
    Additionally, with recent load balancing changes making us prefer to place tasks
    in an idle cache domain (which is good for compute bound loads), communicating
    tasks suffer when a sync wakeup, which would enable affine placement, is turned
    into a non-sync wakeup by SYNC_LESS.  With one task on the runqueue, wake_affine()
    rejects the affine wakeup request, leaving the unfortunate where placed, taking
    frequent cache misses.
    
    Remove it, and recover some fastpath cycles.
    Signed-off-by: default avatarMike Galbraith <efault@gmx.de>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1268301121.6785.30.camel@marge.simson.net>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    e12f31d3
sched_fair.c 93.7 KB