[PATCH 00/22] Introduce the TDP MMU

From: Paolo Bonzini
Date: Fri Oct 23 2020 - 12:30:33 EST


I will just leave a link to Ben's detailed explanation

https://lore.kernel.org/kvm/20201014182700.2888246-1-bgardon@xxxxxxxxxx/>

This series puts together all the small changes that were pointed out
on list; the only additions on my part are tracepoints and the introduction
of two source files spte.c and spte.h for code common to mmu.c and tdp_mmu.c.

Ben Gardon (19):
kvm: mmu: Separate making non-leaf sptes from link_shadow_page
kvm: x86/mmu: Separate making SPTEs from set_spte
kvm: x86/mmu: Introduce tdp_iter
kvm: x86/mmu: Init / Uninit the TDP MMU
kvm: x86/mmu: Allocate and free TDP MMU roots
kvm: x86/mmu: Add functions to handle changed TDP SPTEs
kvm: x86/mmu: Support zapping SPTEs in the TDP MMU
kvm: x86/mmu: Remove disallowed_hugepage_adjust shadow_walk_iterator
arg
kvm: x86/mmu: Add TDP MMU PF handler
kvm: x86/mmu: Allocate struct kvm_mmu_pages for all pages in TDP MMU
kvm: x86/mmu: Support invalidate range MMU notifier for TDP MMU
kvm: x86/mmu: Add access tracking for tdp_mmu
kvm: x86/mmu: Support changed pte notifier in tdp MMU
kvm: x86/mmu: Support dirty logging for the TDP MMU
kvm: x86/mmu: Support disabling dirty logging for the tdp MMU
kvm: x86/mmu: Support write protection for nesting in tdp MMU
kvm: x86/mmu: Support MMIO in the TDP MMU
kvm: x86/mmu: Don't clear write flooding count for direct roots
kvm: x86/mmu: NX largepage recovery for TDP MMU

Paolo Bonzini (2):
KVM: mmu: Separate updating a PTE from kvm_set_pte_rmapp
KVM: mmu: extract spte.h and spte.c

Peter Xu (1):
KVM: Cache as_id in kvm_memory_slot

arch/x86/include/asm/kvm_host.h | 14 +
arch/x86/kvm/Makefile | 3 +-
arch/x86/kvm/mmu/mmu.c | 785 ++++++---------------
arch/x86/kvm/mmu/mmu_internal.h | 88 ++-
arch/x86/kvm/mmu/mmutrace.h | 8 +-
arch/x86/kvm/mmu/paging_tmpl.h | 3 +-
arch/x86/kvm/mmu/spte.c | 318 +++++++++
arch/x86/kvm/mmu/spte.h | 252 +++++++
arch/x86/kvm/mmu/tdp_iter.c | 182 +++++
arch/x86/kvm/mmu/tdp_iter.h | 60 ++
arch/x86/kvm/mmu/tdp_mmu.c | 1157 +++++++++++++++++++++++++++++++
arch/x86/kvm/mmu/tdp_mmu.h | 48 ++
include/linux/kvm_host.h | 2 +
virt/kvm/kvm_main.c | 12 +-
14 files changed, 2329 insertions(+), 603 deletions(-)
create mode 100644 arch/x86/kvm/mmu/spte.c
create mode 100644 arch/x86/kvm/mmu/spte.h
create mode 100644 arch/x86/kvm/mmu/tdp_iter.c
create mode 100644 arch/x86/kvm/mmu/tdp_iter.h
create mode 100644 arch/x86/kvm/mmu/tdp_mmu.c
create mode 100644 arch/x86/kvm/mmu/tdp_mmu.h

--
2.26.2