Skip to content
  • David Rientjes's avatar
    mm: default to node zonelist ordering when nodes have only lowmem · e325c90f
    David Rientjes authored
    
    
    There are two types of zonelist ordering methodologies:
    
     - node order, preferring allocations on a node to stay local to and
    
     - zone order, preferring allocations come from a higher zone to avoid
       allocating in lowmem zones even though they may not be local.
    
    The ordering technique used by the kernel is configurable on the command
    line, but also has some logic to determine what the default should be.
    
    This logic currently lacks knowledge of systems where a node may only have
    lowmem.  For such systems, it is necessary to use node order so that
    GFP_KERNEL allocations may be satisfied by nodes consisting of only
    lowmem.
    
    If zone order is used, GFP_KERNEL allocations to such nodes are actually
    allocated on a node with local affinity that includes ZONE_NORMAL.
    
    This change defaults to node zonelist ordering if any node lacks
    ZONE_NORMAL.
    
    To force zone order, append 'numa_zonelist_order=zone' to the kernel
    command line.
    
    Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
    Acked-by: default avatarMel Gorman <mel@csn.ul.ie>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e325c90f