• Andrew Morton's avatar
    [PATCH] scheduler domain balancing improvements · 3dfa303d
    Andrew Morton authored
    From: Nick Piggin <piggin@cyberone.com.au>
    
    This patch gets the sched_domain scheduler working better WRT balancing.
    Its been tested on the NUMAQ.  Among other things it changes to the way SMT
    load calculation works so as not to active load blances when it shouldn't.
    
    It still has a problem with SMT and NUMA: it will put a task on each
    sibling in a node before moving tasks to another node.  It should probably
    start moving tasks after each *physical* CPU is filled.
    
    To fix, you need "how much CPU power in this domain?" At the moment we
    approximate # runqueues == CPU power, and hack around it at the CPU
    physical domain by counting all sibling runqueues as 1.
    
    It isn't hard to correctly work the CPU power out, but once CPU hotplug is
    in the equation it becomes much more hotplug events.  If anyone is actually
    interested in getting this fixed, that is.
    3dfa303d
sched.c 87.1 KB