KVM guests freeze under upstream kernel
mpe at ellerman.id.au
Thu Jul 27 13:14:45 AEST 2017
joserz at linux.vnet.ibm.com writes:
> On Thu, Jul 20, 2017 at 10:18:18PM -0300, joserz at linux.vnet.ibm.com wrote:
>> On Thu, Jul 20, 2017 at 03:21:59PM +1000, Paul Mackerras wrote:
>> > Did you check the host kernel logs for any oops messages?
>> dmesg was clean but after sometime waiting (I forgot QEMU running in
>> another terminal) I got the oops below (after rebooting the host I
>> couldn't reproduce it again).
>> Another test that I did was:
>> Compile with transparent huge pages disabled: KVM works fine
>> Compile with transparent huge pages enabled: doesn't work
>> + disabling it in /sys/kernel/mm/transparent_hugepage: doesn't work
>> Just out of my own curiosity I made this small change:
>> diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h
>> index c0737c8..f94a3b6 100644
>> --- a/arch/powerpc/include/asm/book3s/64/pgtable.h
>> +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h
>> @@ -80,7 +80,7 @@
>> #define _PAGE_SOFT_DIRTY _RPAGE_SW3 /* software: software dirty
>> #define _PAGE_SPECIAL _RPAGE_SW2 /* software: special page */
>> -#define _PAGE_DEVMAP _RPAGE_SW1 /* software: ZONE_DEVICE page */
>> +#define _PAGE_DEVMAP _RPAGE_RSV3
>> #define __HAVE_ARCH_PTE_DEVMAP
>> and it works. I chose _RPAGE_RSV3 because it uses the same value that
>> x86 uses (0x0400000000000000UL) but I don't if it could have any side
> Does this change make any sense to you people?
I think it's just hiding the bug somehow. Presumably we have some code
somewhere that is getting confused by _RPAGE_SW1 being set, or setting
that bit incorrectly.
More information about the Linuxppc-dev