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

Christophe LEROY christophe.leroy at c-s.fr
Wed Sep 26 18:10:36 AEST 2018



Le 26/09/2018 à 04:48, Aneesh Kumar K.V a écrit :
> Christophe Leroy <christophe.leroy at c-s.fr> 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 at c-s.fr>
>> ---
>>   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?

Yes we can, that means moving arch_exit_mmap() prototype in platform 
specific mmu headers, and adding there a #define arch_exit_mmap 
arch_exit_mmap

Is that your idea ?

Christophe


> 
> 
>> 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
> 


More information about the Linuxppc-dev mailing list