Re: [PATCH] MIPS: make userspace mapping young by default

Andrew Morton
2021-02-08T19:49:02Z

On Mon, 8 Feb 2021 18:44:22 +0100 Christophe Leroy <christophe.leroy@csgroup.eu> wrote:

>
>
> Le 06/02/2021 à 00:41, Andrew Morton a écrit :
> > On Thu, 4 Feb 2021 16:22:39 +0100 Thomas Bogendoerfer <tsbogend@alpha.franken.de> wrote:
> >
> >> On Thu, Feb 04, 2021 at 09:39:42AM +0800, Huang Pei wrote:
> >>> MIPS page fault path(except huge page) takes 3 exceptions (1 TLB Miss
> >>> + 2 TLB Invalid), butthe second TLB Invalid exception is just
> >>> triggered by __update_tlb from do_page_fault writing tlb without
> >>> _PAGE_VALID set. With this patch, user space mapping prot is made
> >>> young by default (with both _PAGE_VALID and _PAGE_YOUNG set),
> >>> and it only take 1 TLB Miss + 1 TLB Invalid exception
> >>>
> >>> Remove pte_sw_mkyoung without polluting MM code and make page fault
> >>> delay of MIPS on par with other architecture
> >>>
> >>> Signed-off-by: Huang Pei <huangpei@loongson.cn>
> >>> ---
> >>> arch/mips/mm/cache.c | 30 ++++++++++++++++--------------
> >>> include/linux/pgtable.h | 8 --------
> >>> mm/memory.c | 3 ---
> >>> 3 files changed, 16 insertions(+), 25 deletions(-)
> >>
> >> Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> >>
> >> Andrew, can you take this patch through your tree ?
> >
> > Sure. I'll drop Christophe's "mm/memory.c: remove pte_sw_mkyoung()"
> > (https://lkml.kernel.org/r/f302ef92c48d1f08a0459aaee1c568ca11213814.1612345700.git.christophe.leroy@csgroup.eu)
> > in favour of this one.
> >
>
> Pitty. My patch was improving page faults on powerpc/32.

How does it do that? By running pte_mkyoung() for powerpc32? Such a
change is still valid, isn't it?

> That one is only addressing MIPS.

It cleans up core code nicely, by removing a MIPS wart. We can still
add a ppc32 wart?

>
> Any plan to take the series from Nick
> https://patchwork.kernel.org/project/linux-mm/list/?series=404539 ?

I expect so. After -rc1, if the churn is settling down and reviewers
are happy enough.