On Wed, Apr 14, 2021 at 05:24:42PM +0200, David Hildenbrand wrote: > On 13.04.21 21:46, Matthew Wilcox (Oracle) wrote: > > +#if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP) > > #define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) > > +#else > > +#define nth_page(page,n) ((page) + (n)) > > +#endif > > For sparsemem we could optimize within a single memory section. But not sure > if it's worth the trouble. Not only is it not worth the trouble, I suspect it's more expensive to test-and-branch than just unconditionally call pfn_to_page() and page_to_pfn(). That said, I haven't measured. SPARSEMEM_VMEMMAP is default Y, and enabled by arm64, ia64, powerpc, riscv, s390, sparc and x86. I mean ... do we care any more? > Reviewed-by: David Hildenbrand <david@xxxxxxxxxx> > > -- > Thanks, > > David / dhildenb >