On Thu, Feb 28, 2019 at 12:04:08PM +0000, Steven Price wrote: > On 28/02/2019 11:53, Geert Uytterhoeven wrote: > > Hi Mike, > > > > On Thu, Feb 28, 2019 at 12:37 PM Mike Rapoport <rppt@xxxxxxxxxxxxx> wrote: > >> On Wed, Feb 27, 2019 at 08:27:40PM +0100, Geert Uytterhoeven wrote: > >>> On Wed, Feb 27, 2019 at 6:07 PM Steven Price <steven.price@xxxxxxx> wrote: > >>>> walk_page_range() is going to be allowed to walk page tables other than > >>>> those of user space. For this it needs to know when it has reached a > >>>> 'leaf' entry in the page tables. This information is provided by the > >>>> p?d_large() functions/macros. > >>>> > >>>> For m68k, we don't support large pages, so add stubs returning 0 > >>>> > >>>> CC: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> > >>>> CC: linux-m68k@xxxxxxxxxxxxxxxxxxxx > >>>> Signed-off-by: Steven Price <steven.price@xxxxxxx> > >>> > >>> Thanks for your patch! > >>> > >>>> arch/m68k/include/asm/mcf_pgtable.h | 2 ++ > >>>> arch/m68k/include/asm/motorola_pgtable.h | 2 ++ > >>>> arch/m68k/include/asm/pgtable_no.h | 1 + > >>>> arch/m68k/include/asm/sun3_pgtable.h | 2 ++ > >>>> 4 files changed, 7 insertions(+) > >>> > >> Maybe I'm missing something, but why the stubs have to be defined in > >> arch/*/include/asm/pgtable.h rather than in include/asm-generic/pgtable.h? > > > > That would even make more sense, given most architectures don't > > support huge pages. > > Where the architecture has folded a level stubs are provided by the > asm-generic layer, see this later patch: > > https://lore.kernel.org/lkml/20190227170608.27963-25-steven.price@xxxxxxx/ > > However just because an architecture port doesn't (currently) support > huge pages doesn't mean that the architecture itself can't have large[1] > mappings at higher levels of the page table. For instance an > architecture might use large pages for the linear map but not support > huge page mappings for user space. Well, I doubt m68k can support large mappings at higher levels at all. This, IMHO, applies to many other architectures and spreading p?d_large all over those architecture seems wrong to me... > My previous posting of this series attempted to define generic versions > of p?d_large(), but it was pointed out to me that this was fragile and > having a way of knowing whether the page table was a 'leaf' is actually > useful, so I've attempted to implement for all architectures. See the > discussion here: > https://lore.kernel.org/lkml/20190221113502.54153-1-steven.price@xxxxxxx/T/#mf0bd0155f185a19681b48a288be212ed1596e85d I'll reply on that thread, somehow I missed it then. > Steve > -- Sincerely yours, Mike.