• Peter Zijlstra's avatar
    sched/numa: Avoid migrating tasks that are placed on their preferred node · 0ec8aa00
    Peter Zijlstra authored
    This patch classifies scheduler domains and runqueues into types depending
    the number of tasks that are about their NUMA placement and the number
    that are currently running on their preferred node. The types are
    
    regular: There are tasks running that do not care about their NUMA
    	placement.
    
    remote: There are tasks running that care about their placement but are
    	currently running on a node remote to their ideal placement
    
    all: No distinction
    
    To implement this the patch tracks the number of tasks that are optimally
    NUMA placed (rq->nr_preferred_running) and the number of tasks running
    that care about their placement (nr_numa_running). The load balancer
    uses this information to avoid migrating idea placed NUMA tasks as long
    as better options for load balancing exists. For example, it will not
    consider balancing between a group whose tasks are all perfectly placed
    and a group with remote tasks.
    Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
    Reviewed-by: default avatarRik van Riel <riel@redhat.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/1381141781-10992-56-git-send-email-mgorman@suse.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    0ec8aa00
core.c 184 KB