• Peter Zijlstra's avatar
    sched: fair-group: SMP-nice for group scheduling · 18d95a28
    Peter Zijlstra authored
    Implement SMP nice support for the full group hierarchy.
    
    On each load-balance action, compile a sched_domain wide view of the full
    task_group tree. We compute the domain wide view when walking down the
    hierarchy, and readjust the weights when walking back up.
    
    After collecting and readjusting the domain wide view, we try to balance the
    tasks within the task_groups. The current approach is a naively balance each
    task group until we've moved the targeted amount of load.
    
    Inspired by Srivatsa Vaddsgiri's previous code and Abhishek Chandra's H-SMP
    paper.
    
    XXX: there will be some numerical issues due to the limited nature of
         SCHED_LOAD_SCALE wrt to representing a task_groups influence on the
         total weight. When the tree is deep enough, or the task weight small
         enough, we'll run out of bits.
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    CC: Abhishek Chandra <chandra@cs.umn.edu>
    CC: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    18d95a28
sched.c 223 KB