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.
|