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 <a...@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. Tested-by: Laurent Vivier <lviv...@redhat.com> Thanks, Laurent