Randy Dunlap wrote: > +Sparsemem divides up physical memory in your system into N section of M > > sections > > +bytes. Page descriptors are created for only those sections that > +actually exist (as far as the sparsemem code is concerned). This allows > +for holes in the physical memory without having to waste space by > +creating page discriptors for those pages that do not exist. > > descriptors > > +When page_to_pfn() or pfn_to_page() are called there is a bit of overhead to > +look up the proper memory section to get to the descriptors, but this > +is small compared to the memory you are likely to save. So, it's not the > +default, but should be used if you have big holes in physical memory. 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.