[PATCH 0/4] Small changes related to prefetch and spurious faults

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This series contains some small changes related to prefetch/prefault and
spurious faults.

Patch 1 checks if a shadow-present old SPTE is leaf to determine a
        prefetch fault is spurious.

Patch 2 merges the case of prefetch into the case of is_access_allowed().

Patch 3 is according to the previous discussion at [1].

Patch 4 always free obsolete roots before reload mmu.

With below scenario
1. add a memslot with size 4K
2. prefault GPA A in the memslot
3. delete the memslot
4. re-add the memslot with size 2M
5. prefault GPA A again.

Patch 1 is required if zap all quirk is disabled in step 3.
Patch 5 is required if zap all is performed in step 3 and if step 2/5 are
        executed before any vcpu_run().

The series can be applied to both
f7bafceba76e9ab475b413578c1757ee18c3e44b and
eb723766b1030a23c38adf2348b7c3d1409d11f0.

Thanks
Yan

[1] https://lore.kernel.org/kvm/Z2WTZGHmPDXHSrTA@xxxxxxxxxx/

Yan Zhao (4):
  KVM: x86/mmu: Further check old SPTE is leaf for spurious prefetch
    fault
  KVM: x86/tdp_mmu: Merge the prefetch into the is_access_allowed()
    check
  KVM: x86/mmu: Make sure pfn is not changed for spurious fault
  KVM: x86/mmu: Free obsolete roots when pre-faulting SPTEs

 arch/x86/kvm/mmu/mmu.c     | 8 +++++++-
 arch/x86/kvm/mmu/tdp_mmu.c | 6 ++----
 2 files changed, 9 insertions(+), 5 deletions(-)

-- 
2.43.2





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux