• Mel Gorman's avatar
    sched/numa: Use a system-wide search to find swap/migration candidates · fb13c7ee
    Mel Gorman authored
    This patch implements a system-wide search for swap/migration candidates
    based on total NUMA hinting faults. It has a balance limit, however it
    doesn't properly consider total node balance.
    
    In the old scheme a task selected a preferred node based on the highest
    number of private faults recorded on the node. In this scheme, the preferred
    node is based on the total number of faults. If the preferred node for a
    task changes then task_numa_migrate will search the whole system looking
    for tasks to swap with that would improve both the overall compute
    balance and minimise the expected number of remote NUMA hinting faults.
    
    Not there is no guarantee that the node the source task is placed
    on by task_numa_migrate() has any relationship to the newly selected
    task->numa_preferred_nid due to compute overloading.
    Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
    [ Do not swap with tasks that cannot run on source cpu]
    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>
    [ Fixed compiler warning on UP. ]
    Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1381141781-10992-40-git-send-email-mgorman@suse.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    fb13c7ee
core.c 183 KB