• Peter Zijlstra's avatar
    sched: Fix division by zero - really · 34d76c41
    Peter Zijlstra authored
    When re-computing the shares for each task group's cpu
    representation we need the ratio of weight on each cpu vs the
    total weight of the sched domain.
    
    Since load-balancing is loosely (read not) synchronized, the
    weight of individual cpus can change between doing the sum and
    calculating the ratio.
    
    The previous patch dealt with only one of the race scenarios,
    this patch side steps them all by saving a snapshot of all the
    individual cpu weights, thereby always working on a consistent
    set.
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: torvalds@linux-foundation.org
    Cc: jes@sgi.com
    Cc: jens.axboe@oracle.com
    Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
    Cc: Arjan van de Ven <arjan@infradead.org>
    Cc: Yinghai Lu <yinghai@kernel.org>
    LKML-Reference: <1251371336.18584.77.camel@twins>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    34d76c41
sched.c 261 KB