mbox series

[5.10/5.11,0/9] Fix missing TLB flushes in TDP MMU

Message ID 20210410151229.4062930-1-pbonzini@redhat.com (mailing list archive)
Headers show
Series Fix missing TLB flushes in TDP MMU | expand

Message

Paolo Bonzini April 10, 2021, 3:12 p.m. UTC
The new MMU for two-dimensional paging had some missing TLB flushes
in 5.10 and 5.11.  This series backports some generic improvements
to simplify the backport in the last four patches.

Ben Gardon (5):
  KVM: x86/mmu: change TDP MMU yield function returns to match
    cond_resched
  KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched
  KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn
  KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter
  KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed

Paolo Bonzini (1):
  KVM: x86/mmu: preserve pending TLB flush across calls to
    kvm_tdp_mmu_zap_sp

Sean Christopherson (3):
  KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range
    zap
  KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping
  KVM: x86/mmu: Don't allow TDP MMU to yield when recovering NX pages

 arch/x86/kvm/mmu/mmu.c      | 13 ++---
 arch/x86/kvm/mmu/tdp_iter.c | 30 +++--------
 arch/x86/kvm/mmu/tdp_iter.h | 11 +++--
 arch/x86/kvm/mmu/tdp_mmu.c  | 99 ++++++++++++++++++++++++-------------
 arch/x86/kvm/mmu/tdp_mmu.h  | 18 ++++++-
 5 files changed, 103 insertions(+), 68 deletions(-)

Comments

Sasha Levin April 11, 2021, 4:49 p.m. UTC | #1
On Sat, Apr 10, 2021 at 11:12:20AM -0400, Paolo Bonzini wrote:
>The new MMU for two-dimensional paging had some missing TLB flushes
>in 5.10 and 5.11.  This series backports some generic improvements
>to simplify the backport in the last four patches.
>
>Ben Gardon (5):
>  KVM: x86/mmu: change TDP MMU yield function returns to match
>    cond_resched
>  KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched
>  KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn
>  KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter
>  KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed
>
>Paolo Bonzini (1):
>  KVM: x86/mmu: preserve pending TLB flush across calls to
>    kvm_tdp_mmu_zap_sp
>
>Sean Christopherson (3):
>  KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range
>    zap
>  KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping
>  KVM: x86/mmu: Don't allow TDP MMU to yield when recovering NX pages

Queued up, thanks!
Sean Christopherson April 12, 2021, 4:44 p.m. UTC | #2
On Sat, Apr 10, 2021, Paolo Bonzini wrote:
> The new MMU for two-dimensional paging had some missing TLB flushes
> in 5.10 and 5.11.  This series backports some generic improvements
> to simplify the backport in the last four patches.

Did a quick read through, didn't see anything obviously broken.  Thanks Paolo!