02 May, 2011

2 commits

  • setup_node_bootmem() is taken from 64bit and doesn't use remap
    allocator. It's about to be shared with 32bit so add support for it.
    If NODE_DATA is remapped, it's noted in the debug message and node
    locality check is skipped as the __pa() of the remapped address
    doesn't reflect the actual physical address.

    On 64bit, remap allocator becomes noop and doesn't affect the
    behavior.

    Signed-off-by: Tejun Heo
    Cc: Ingo Molnar
    Cc: Yinghai Lu
    Cc: David Rientjes
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"

    Tejun Heo
     
  • Move the generic 64bit NUMA init machinery from numa_64.c to numa.c.

    * node_data[], numa_mem_info and numa_distance
    * numa_add_memblk[_to](), numa_remove_memblk[_from]()
    * numa_set_distance() and friends
    * numa_init() and all the numa_meminfo handling helpers called from it
    * dummy_numa_init()
    * memory_add_physaddr_to_nid()

    A new function x86_numa_init() is added and the content of
    numa_64.c::initmem_init() is moved into it. initmem_init() now simply
    calls x86_numa_init().

    Constants and numa_off declaration are moved from numa_{32|64}.h to
    numa.h.

    This is code reorganization and doesn't involve any functional change.

    Signed-off-by: Tejun Heo
    Cc: Ingo Molnar
    Cc: Yinghai Lu
    Cc: David Rientjes
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"

    Tejun Heo
     

22 Feb, 2011

1 commit

  • Create numa_emulation.c and move all NUMA emulation code there. The
    definitions of struct numa_memblk and numa_meminfo are moved to
    numa_64.h. Also, numa_remove_memblk_from(), numa_cleanup_meminfo(),
    numa_reset_distance() along with numa_emulation() are made global.

    - v2: Internal declarations moved to numa_internal.h as suggested by
    Yinghai.

    Signed-off-by: Tejun Heo
    Acked-by: Yinghai Lu
    Cc: Ingo Molnar

    Tejun Heo