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

From: "Aneesh Kumar K.V" <[email-masked]>
Date: Wed, 26 Sep 2018 08:18:22 +0530

Christophe Leroy <[email-masked]> 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 <[email-masked]>
> ---
>  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