Re: [PATCH v5 18/22] powerpc/mm: Extend pte_fragment functionality to nohash/32

From: Aneesh Kumar K.V
Date: Tue Sep 25 2018 - 22:48:36 EST


Christophe Leroy <christophe.leroy@xxxxxx> writes:

> In order to allow the 8xx to handle pte_fragments, this patch
> extends the use of pte_fragments to nohash/32 platforms.
>
> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
> ---
> arch/powerpc/include/asm/mmu_context.h | 2 +-
> arch/powerpc/include/asm/nohash/32/mmu-40x.h | 1 +
> arch/powerpc/include/asm/nohash/32/mmu-44x.h | 1 +
> arch/powerpc/include/asm/nohash/32/mmu-8xx.h | 1 +
> arch/powerpc/include/asm/nohash/32/mmu.h | 4 ++-
> arch/powerpc/include/asm/nohash/32/pgalloc.h | 52 +++++++++++++---------------
> arch/powerpc/include/asm/nohash/32/pgtable.h | 11 ++++--
> arch/powerpc/include/asm/nohash/mmu-book3e.h | 1 +
> arch/powerpc/mm/Makefile | 3 ++
> arch/powerpc/mm/mmu_context_nohash.c | 14 ++++++++
> 10 files changed, 57 insertions(+), 33 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h
> index b2f89b621b15..7f2c37a3f99d 100644
> --- a/arch/powerpc/include/asm/mmu_context.h
> +++ b/arch/powerpc/include/asm/mmu_context.h
> @@ -222,7 +222,7 @@ static inline int arch_dup_mmap(struct mm_struct *oldmm,
> return 0;
> }
>
> -#ifndef CONFIG_PPC_BOOK3S_64
> +#if defined(CONFIG_PPC_BOOK3E_64) || defined(CONFIG_PPC_BOOK3S_32)
> static inline void arch_exit_mmap(struct mm_struct *mm)
> {
> }


Can we do that with #ifndef arch_exit_mmap? This should handle every
platform that doesn't use pte_frag right?


> diff --git a/arch/powerpc/include/asm/nohash/32/mmu-40x.h b/arch/powerpc/include/asm/nohash/32/mmu-40x.h
> index 74f4edb5916e..7c77ceed71d6 100644
> --- a/arch/powerpc/include/asm/nohash/32/mmu-40x.h
> +++ b/arch/powerpc/include/asm/nohash/32/mmu-40x.h
> @@ -58,6 +58,7 @@ typedef struct {
> unsigned int id;
> unsigned int active;
> unsigned long vdso_base;

-aneesh