• Peter Zijlstra's avatar
    sched: fix calc_delta_asym() · c9c294a6
    Peter Zijlstra authored
    calc_delta_asym() is supposed to do the same as calc_delta_fair() except
    linearly shrink the result for negative nice processes - this causes them
    to have a smaller preemption threshold so that they are more easily preempted.
    
    The problem is that for task groups se->load.weight is the per cpu share of
    the actual task group weight; take that into account.
    
    Also provide a debug switch to disable the asymmetry (which I still don't
    like - but it does greatly benefit some workloads)
    
    This would explain the interactivity issues reported against group scheduling.
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    c9c294a6
sched_fair.c 37.2 KB