From: Paolo Bonzini Date: Wed, 13 Nov 2024 11:31:54 +0000 (-0500) Subject: Merge tag 'kvm-x86-mmu-6.13' of https://github.com/kvm-x86/linux into HEAD X-Git-Tag: v6.13-rc1~13^2~16 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=c59de1413391868057cfe70b45dbce66de643064;p=linux-block.git Merge tag 'kvm-x86-mmu-6.13' of https://github.com/kvm-x86/linux into HEAD KVM x86 MMU changes for 6.13 - Cleanup KVM's handling of Accessed and Dirty bits to dedup code, improve documentation, harden against unexpected changes, and to simplify A/D-disabled MMUs by using the hardware-defined A/D bits to track if a PFN is Accessed and/or Dirty. - Elide TLB flushes when aging SPTEs, as has been done in x86's primary MMU for over 10 years. - Batch TLB flushes when zapping collapsible TDP MMU SPTEs, i.e. when dirty logging is toggled off, which reduces the time it takes to disable dirty logging by ~3x. - Recover huge pages in-place in the TDP MMU instead of zapping the SP and waiting until the page is re-accessed to create a huge mapping. Proactively installing huge pages can reduce vCPU jitter in extreme scenarios. - Remove support for (poorly) reclaiming page tables in shadow MMUs via the primary MMU's shrinker interface. --- c59de1413391868057cfe70b45dbce66de643064