[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c630df18-c1af-8ece-37d2-3db5dc18ecc8@redhat.com>
Date: Fri, 2 Apr 2021 13:43:14 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Ben Gardon <bgardon@...gle.com>, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org
Cc: Peter Xu <peterx@...hat.com>,
Sean Christopherson <seanjc@...gle.com>,
Peter Shier <pshier@...gle.com>,
Peter Feiner <pfeiner@...gle.com>,
Junaid Shahid <junaids@...gle.com>,
Jim Mattson <jmattson@...gle.com>,
Yulei Zhang <yulei.kernel@...il.com>,
Wanpeng Li <kernellwp@...il.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Xiao Guangrong <xiaoguangrong.eric@...il.com>
Subject: Re: [PATCH v2 00/13] More parallel operations for the TDP MMU
On 02/04/21 01:37, Ben Gardon wrote:
> Now that the TDP MMU is able to handle page faults in parallel, it's a
> relatively small change to expand to other operations. This series allows
> zapping a range of GFNs, reclaiming collapsible SPTEs (when disabling
> dirty logging), and enabling dirty logging to all happen under the MMU
> lock in read mode.
>
> This is partly a cleanup + rewrite of the last few patches of the parallel
> page faults series. I've incorporated feedback from Sean and Paolo, but
> the patches have changed so much that I'm sending this as a separate
> series.
>
> Ran kvm-unit-tests + selftests on an SMP kernel + Intel Skylake, with the
> TDP MMU enabled and disabled. This series introduces no new failures or
> warnings.
>
> I know this will conflict horribly with the patches from Sean's series
> which were just queued, and I'll send a v2 to fix those conflicts +
> address any feedback on this v1.
>
> Changelog
> v2:
> -- Rebased patches on top of kvm/queue to incorporate Sean's recent
> TLB flushing changes
> -- Dropped patch 5: "KVM: x86/mmu: comment for_each_tdp_mmu_root
> requires MMU write lock" as the following patch to protect the roots
> list with RCU adds lockdep which makes the comment somewhat redundant.
>
> Ben Gardon (13):
> KVM: x86/mmu: Re-add const qualifier in
> kvm_tdp_mmu_zap_collapsible_sptes
> KVM: x86/mmu: Move kvm_mmu_(get|put)_root to TDP MMU
> KVM: x86/mmu: use tdp_mmu_free_sp to free roots
> KVM: x86/mmu: Merge TDP MMU put and free root
> KVM: x86/mmu: Refactor yield safe root iterator
> KVM: x86/mmu: Make TDP MMU root refcount atomic
> KVM: x86/mmu: handle cmpxchg failure in kvm_tdp_mmu_get_root
> KVM: x86/mmu: Protect the tdp_mmu_roots list with RCU
> KVM: x86/mmu: Allow zap gfn range to operate under the mmu read lock
> KVM: x86/mmu: Allow zapping collapsible SPTEs to use MMU read lock
> KVM: x86/mmu: Allow enabling / disabling dirty logging under MMU read
> lock
> KVM: x86/mmu: Fast invalidation for TDP MMU
> KVM: x86/mmu: Tear down roots in fast invalidation thread
>
> arch/x86/include/asm/kvm_host.h | 21 +-
> arch/x86/kvm/mmu/mmu.c | 115 +++++++---
> arch/x86/kvm/mmu/mmu_internal.h | 27 +--
> arch/x86/kvm/mmu/tdp_mmu.c | 375 +++++++++++++++++++++++---------
> arch/x86/kvm/mmu/tdp_mmu.h | 28 ++-
> include/linux/kvm_host.h | 2 +-
> 6 files changed, 407 insertions(+), 161 deletions(-)
>
Applied to kvm/mmu-notifier-queue, thanks.
Paolo
Powered by blists - more mailing lists