Dave Hansen wrote: > On Mon, 2008-08-18 at 16:24 -0500, Christoph Lameter wrote: >> This overhead can be avoided by configuring sparsemem to use a virtual vmemmap >> (CONFIG_SPARSEMEM_VMEMMAP). In that case it can be used for non NUMA since the >> overhead is less than even FLATMEM. > > Is that all it takes these days, or do you need some other arch-specific > code to help out? Some information is in mm/sparse-vmemmap.c. Simplest configuration is to use vmalloc for the populate function. Otherwise the arch can do what it wants to reduce the overhead of virtual mappings (in the x86 case we use a 2M TLB entry, and since 2M TLBs are also used for the 1-1 physical mapping the overhead is the same as for 1-1 mappings).