On Mon, Apr 13, 2020 at 10:53:03PM +1000, Nicholas Piggin wrote: > +static int vmap_pages_range_noflush(unsigned long start, unsigned long end, > + pgprot_t prot, struct page **pages, > + unsigned int page_shift) > +{ > + if (page_shift == PAGE_SIZE) { ... I think you meant 'page_shift == PAGE_SHIFT' Overall I like this series, although it's a bit biased towards CPUs which have page sizes which match PMD/PUD sizes. It doesn't offer the possibility of using 64kB page sizes on ARM, for example. But it's a step in the right direction.