Re: commit f8f559422b (KVM: MMU: fast invalidate all mmio sptes) causes hang

From: Xiao Guangrong
Date: Wed Jul 17 2013 - 15:27:17 EST


Hi,

Could you please try this:

index 460b9c6..16d1578 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -2952,6 +2952,9 @@ static bool page_fault_can_be_fast(u32 error_code)
!(error_code & PFERR_WRITE_MASK))
return false;

+ if (error_code & PFERR_RSVD_MASK)
+ return false;
+
return true;
}


On Jul 18, 2013, at 2:42 AM, Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> wrote:

> On 2013.07.18 at 01:25 +0800, Xiao Guangrong wrote:
>> Hi Markus,
>>
>> Thanks for your report! I am downloading the ubuntu iso and will try to reproducible it.
>>
>> Could you please enable these tracepoints:
>> kvmmmu/check_mmio_spte
>> kvmmmu/handle_mmio_page_fault
>> kvmmmu/kvm_mmu_invalidate_zap_all_pages
>> kvmmmu/mark_mmio_spte
>> kvm/kvm_mmio
>> kvm/vcpu_match_mmio
>>
>> and post the output?
>>
> First line repeated ad nauseam.
> ...
> 10346367 qemu-system-x86-1403 [001] 1451.422225: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346368 qemu-system-x86-1403 [001] 1451.422226: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346369 qemu-system-x86-1403 [001] 1451.422227: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346370 qemu-system-x86-1403 [001] 1451.422228: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346371 qemu-system-x86-1403 [001] 1451.422229: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0index 460b9c6..16d1578 100644
> --- a/arch/x86/kvm/mmu.c
> +++ b/arch/x86/kvm/mmu.c
> @@ -2952,6 +2952,9 @@ static bool page_fault_can_be_fast(u32 error_code)
> !(error_code & PFERR_WRITE_MASK))
> return false;
>
> + if (error_code & PFERR_RSVD_MASK)
> + return false;
> +
> return true;
> }10346372 qemu-system-x86-1404 [002] 1451.422229: kvm_mmio: mmio write len 4 gpa 0xfee000b0 val 0x0
> 10346373 qemu-system-x86-1403 [001] 1451.422230: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346374 qemu-system-x86-1403 [001] 1451.422231: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346375 qemu-system-x86-1403 [001] 1451.422232: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346376 qemu-system-x86-1403 [001] 1451.422233: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346377 qemu-system-x86-1403 [001] 1451.422234: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346378 qemu-system-x86-1403 [001] 1451.422235: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346379 qemu-system-x86-1404 [002] 1451.422236: kvm_mmio: mmio write len 4 gpa 0xfee00380 val 0x3c7b0
> 10346380 qemu-system-x86-1403 [001] 1451.422237: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346381 qemu-system-x86-1403 [001] 1451.422238: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346382 qemu-system-x86-1403 [001] 1451.422239: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346383 qemu-system-x86-1403 [001] 1451.422240: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346384 qemu-system-x86-1403 [001] 1451.422241: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346385 qemu-system-x86-1403 [001] 1451.422242: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346386 qemu-system-x86-1403 [001] 1451.422243: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346387 qemu-system-x86-1403 [001] 1451.422244: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> 10346403 qemu-system-x86-1403 [001] 1451.422260: check_mmio_spte: spte ffff0000fee00e3f kvm_gen 7ffc8 spte-gen 7ffc7 valid 0
> ...
> Last line repeated ad nauseam.
>
> Whole output is over 1.3G of size.
>
> --
> Markus

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/