Matthew Wilcox schrieb am Mi. 14. Apr. 2021 um 20:52: > 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. My thinking was that in most cases we might stay within the section such that there are barely any actual branches. > > SPARSEMEM_VMEMMAP is default Y, and enabled by arm64, ia64, powerpc, > riscv, s390, sparc and x86. I mean ... do we care any more? Also true. -- Thanks, David / dhildenb