[PATCH kernel v2] powerpc/mm: Flush radix process translations when setting MMU type

Daniel Henrique Barboza danielhb at linux.vnet.ibm.com
Thu Feb 8 04:49:14 AEDT 2018



On 02/07/2018 12:33 PM, Laurent Vivier wrote:
> On 01/02/2018 06:09, Alexey Kardashevskiy wrote:
>> Radix guests do normally invalidate process-scoped translations when
>> a new pid is allocated but migrated guests do not invalidate these so
>> migrated guests crash sometime, especially easy to reproduce with
>> migration happening within first 10 seconds after the guest boot start on
>> the same machine.
>>
>> This adds the "Invalidate process-scoped translations" flush to fix
>> radix guests migration.
>>
>> Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
>> ---
>> Changes:
>> v2:
>> * removed PPC_TLBIE_5() from the !(old&PATH_HR) case as it is pointless
>> on hash
>>
>> ---
>>
>>
>> Not so sure that "process-scoped translations" only require flushing
>> at pid allocation and migration.
>>
>> ---
>>   arch/powerpc/mm/pgtable_64.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c
>> index c9a623c..d75dd52 100644
>> --- a/arch/powerpc/mm/pgtable_64.c
>> +++ b/arch/powerpc/mm/pgtable_64.c
>> @@ -471,6 +471,8 @@ void mmu_partition_table_set_entry(unsigned int lpid, unsigned long dw0,
>>   	if (old & PATB_HR) {
>>   		asm volatile(PPC_TLBIE_5(%0,%1,2,0,1) : :
>>   			     "r" (TLBIEL_INVAL_SET_LPID), "r" (lpid));
>> +		asm volatile(PPC_TLBIE_5(%0,%1,2,1,1) : :
>> +			     "r" (TLBIEL_INVAL_SET_LPID), "r" (lpid));
>>   		trace_tlbie(lpid, 0, TLBIEL_INVAL_SET_LPID, lpid, 2, 0, 1);
>>   	} else {
>>   		asm volatile(PPC_TLBIE_5(%0,%1,2,0,0) : :
>>
> This patch fixes for me a VM migration crash on POWER9.

Same here.

Tested-by: Daniel Henrique Barboza <danielhb at linux.vnet.ibm.com>

>
> Tested-by: Laurent Vivier <lvivier at redhat.com>
>
> Thanks,
> Laurent
>



More information about the Linuxppc-dev mailing list