• Tejun Heo's avatar
    x86: add remapping percpu first chunk allocator · 8ac83757
    Tejun Heo authored
    Impact: add better first percpu allocation for NUMA
    
    On NUMA, embedding allocator can't be used as different units can't be
    made to fall in the correct NUMA nodes.  To use large page mapping,
    each unit needs to be remapped.  However, percpu areas are usually
    much smaller than large page size and unused space hurts a lot as the
    number of cpus grow.  This allocator remaps large pages for each chunk
    but gives back unused part to the bootmem allocator making the large
    pages mapped twice.
    
    This adds slightly to the TLB pressure but is much better than using
    4k mappings while still being NUMA-friendly.
    
    Ingo suggested that this would be the correct approach for NUMA.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    8ac83757
setup_percpu.c 12.3 KB