[PATCH v3 5/6] powerpc/mm: Reduce memory usage for mm_context_t for radix

Aneesh Kumar K.V aneesh.kumar at linux.ibm.com
Fri Apr 26 14:50:19 AEST 2019


Christophe Leroy <christophe.leroy at c-s.fr> writes:

> Le 17/04/2019 à 15:03, Aneesh Kumar K.V a écrit :
>> Currently, our mm_context_t on book3s64 include all hash specific
>> context details like slice mask and subpage protection details. We
>> can skip allocating these with radix translation. This will help us to save
>> 8K per mm_context with radix translation.
>> 
>> With the patch applied we have
>> 
>> sizeof(mm_context_t)  = 136
>> sizeof(struct hash_mm_context)  = 8288
>> 
>> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
>> ---
>>   arch/powerpc/include/asm/book3s/64/mmu-hash.h | 33 ++++++++++++-
>>   arch/powerpc/include/asm/book3s/64/mmu.h      | 49 +++++--------------
>>   arch/powerpc/kernel/setup-common.c            |  6 +++
>>   arch/powerpc/mm/hash_utils_64.c               |  4 +-
>>   arch/powerpc/mm/mmu_context_book3s64.c        | 16 +++++-
>>   5 files changed, 68 insertions(+), 40 deletions(-)
>> 
>
> [...]
>
>> diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
>> index a07de8608484..21b1ce200b22 100644
>> --- a/arch/powerpc/kernel/setup-common.c
>> +++ b/arch/powerpc/kernel/setup-common.c
>> @@ -947,6 +947,12 @@ void __init setup_arch(char **cmdline_p)
>>   	init_mm.end_data = (unsigned long) _edata;
>>   	init_mm.brk = klimit;
>>   
>> +#ifdef CONFIG_PPC_MM_SLICES
>> +#if defined(CONFIG_PPC_8xx)
>> +	init_mm.context.slb_addr_limit = DEFAULT_MAP_WINDOW;
>> +#endif
>> +#endif
>> +
>
> In the previous patch, you moved the above into early_init_mmu(). Why 
> bringing it back here ?
>

Rebase error. I see that you have sent a series to handle this.

Thanks
-aneesh



More information about the Linuxppc-dev mailing list