• Paul Turner's avatar
    sched: Update effective_load() to use global share weights · 977dda7c
    Paul Turner authored
    Previously effective_load would approximate the global load weight present on
    a group taking advantage of:
    
    entity_weight = tg->shares ( lw / global_lw ), where entity_weight was provided
    by tg_shares_up.
    
    This worked (approximately) for an 'empty' (at tg level) cpu since we would
    place boost load representative of what a newly woken task would receive.
    
    However, now that load is instantaneously updated this assumption is no longer
    true and the load calculation is rather incorrect in this case.
    
    Fix this (and improve the general case) by re-writing effective_load to take
    advantage of the new shares distribution code.
    Signed-off-by: default avatarPaul Turner <pjt@google.com>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <20110115015817.069769529@google.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    977dda7c
sched_fair.c 107 KB