[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190301114553.GC5156@rapoport-lnx>
Date: Fri, 1 Mar 2019 13:45:54 +0200
From: Mike Rapoport <rppt@...ux.ibm.com>
To: Steven Price <steven.price@....com>
Cc: Geert Uytterhoeven <geert@...ux-m68k.org>,
Mark Rutland <Mark.Rutland@....com>,
the arch/x86 maintainers <x86@...nel.org>,
Arnd Bergmann <arnd@...db.de>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Peter Zijlstra <peterz@...radead.org>,
Catalin Marinas <catalin.marinas@....com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Will Deacon <will.deacon@....com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux MM <linux-mm@...ck.org>,
Jérôme Glisse <jglisse@...hat.com>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Andy Lutomirski <luto@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>,
James Morse <james.morse@....com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-m68k <linux-m68k@...ts.linux-m68k.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
"Liang, Kan" <kan.liang@...ux.intel.com>
Subject: Re: [PATCH v3 09/34] m68k: mm: Add p?d_large() definitions
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@...ux.ibm.com> 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@....com> 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@...ux-m68k.org>
> >>>> CC: linux-m68k@...ts.linux-m68k.org
> >>>> Signed-off-by: Steven Price <steven.price@....com>
> >>>
> >>> 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@arm.com/
>
> 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@arm.com/T/#mf0bd0155f185a19681b48a288be212ed1596e85d
I'll reply on that thread, somehow I missed it then.
> Steve
>
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists