[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1837851] [NEW] hv-tlbflush malfunctions on Intel host
From: |
Stefan |
Subject: |
[Qemu-devel] [Bug 1837851] [NEW] hv-tlbflush malfunctions on Intel host CPUs with neither EPT nor VPID (qemu-kvm) |
Date: |
Thu, 25 Jul 2019 07:59:10 -0000 |
Public bug reported:
Enabling hv-tlbflush on older hosts using Intel CPUs supporting VT-x but
neither EPT nor VPID will lead to bluescreens on the guest.
It seems KVM only checks if EPT is available, and if it isn't it
forcibly uses VPID. If that's *also* not available, it defaults to
basically a no-op hypercall, though windows is expecting the TLB to be
flushed.
hv-tlbflush is pretty useless on machines not supporting these
extensions anyway (only reasonably fix I can see would be to flush the
*entire* TLB on tlbflush hypercall in KVM (i.e. a kernel fix), but that
would remove any performance benefits), so I would suggest some kind of
preliminary check and warning/error if hv-tlbflush is specified on such
a host.
All CPUs mentioned in this thread[0] are confirmed to be affected by the
bug, and I have successfully reproduced it on an Intel Core2Duo E8500.
[0] https://forum.proxmox.com/threads/windows-guest-bluescreen-with-
proxmox-6.56053/
** Affects: qemu
Importance: Undecided
Status: New
** Tags: qemu-kvm
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1837851
Title:
hv-tlbflush malfunctions on Intel host CPUs with neither EPT nor VPID
(qemu-kvm)
Status in QEMU:
New
Bug description:
Enabling hv-tlbflush on older hosts using Intel CPUs supporting VT-x
but neither EPT nor VPID will lead to bluescreens on the guest.
It seems KVM only checks if EPT is available, and if it isn't it
forcibly uses VPID. If that's *also* not available, it defaults to
basically a no-op hypercall, though windows is expecting the TLB to be
flushed.
hv-tlbflush is pretty useless on machines not supporting these
extensions anyway (only reasonably fix I can see would be to flush the
*entire* TLB on tlbflush hypercall in KVM (i.e. a kernel fix), but
that would remove any performance benefits), so I would suggest some
kind of preliminary check and warning/error if hv-tlbflush is
specified on such a host.
All CPUs mentioned in this thread[0] are confirmed to be affected by
the bug, and I have successfully reproduced it on an Intel Core2Duo
E8500.
[0] https://forum.proxmox.com/threads/windows-guest-bluescreen-with-
proxmox-6.56053/
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1837851/+subscriptions
- [Qemu-devel] [Bug 1837851] [NEW] hv-tlbflush malfunctions on Intel host CPUs with neither EPT nor VPID (qemu-kvm),
Stefan <=