• R
    sched/numa: Classify the NUMA topology of a system · e3fe70b1
    Rik van Riel 提交于
    Smaller NUMA systems tend to have all NUMA nodes directly connected
    to each other. This includes the degenerate case of a system with just
    one node, ie. a non-NUMA system.
    
    Larger systems can have two kinds of NUMA topology, which affects how
    tasks and memory should be placed on the system.
    
    On glueless mesh systems, nodes that are not directly connected to
    each other will bounce traffic through intermediary nodes. Task groups
    can be run closer to each other by moving tasks from a node to an
    intermediary node between it and the task's preferred node.
    
    On NUMA systems with backplane controllers, the intermediary hops
    are incapable of running programs. This creates "islands" of nodes
    that are at an equal distance to anywhere else in the system.
    
    Each kind of topology requires a slightly different placement
    algorithm; this patch provides the mechanism to detect the kind
    of NUMA topology of a system.
    Signed-off-by: NRik van Riel <riel@redhat.com>
    Tested-by: NChegu Vinod <chegu_vinod@hp.com>
    [ Changed to use kernel/sched/sched.h ]
    Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: mgorman@suse.de
    Cc: chegu_vinod@hp.com
    Link: http://lkml.kernel.org/r/1413530994-9732-3-git-send-email-riel@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
    e3fe70b1
core.c 197.4 KB