• Tejun Heo's avatar
    x86, NUMA: Make 32bit use common NUMA init path · bd6709a9
    Tejun Heo authored
    With both _numa_init() methods converted and the rest of init code
    adjusted, numa_32.c now can switch from the 32bit only init code to
    the common one in numa.c.
    
    * Shim get_memcfg_*()'s are dropped and initmem_init() calls
      x86_numa_init(), which is updated to handle NUMAQ.
    
    * All boilerplate operations including node range limiting, pgdat
      alloc/init are handled by numa_init().  32bit only implementation is
      removed.
    
    * 32bit numa_add_memblk(), numa_set_distance() and
      memory_add_physaddr_to_nid() removed and common versions in
      numa_32.c enabled for 32bit.
    
    This change causes the following behavior changes.
    
    * NODE_DATA()->node_start_pfn/node_spanned_pages properly initialized
      for 32bit too.
    
    * Much more sanity checks and configuration cleanups.
    
    * Proper handling of node distances.
    
    * The same NUMA init messages as 64bit.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    bd6709a9
topology.h 4.92 KB