These patches enable in-kernel acceleration for H_PUT_TCE_INDIRECT and H_STUFF_TCE hypercalls which allow doing multiple (up to 512) TCE entries update in a single call saving time on switching context. QEMU already supports these hypercalls so this is just an optimization.
Both HV and PR KVM modes are supported. This does not affect VFIO, this support is coming next. Please comment. Thanks. Alexey Kardashevskiy (9): rcu: Define notrace version of list_for_each_entry_rcu KVM: PPC: Make real_vmalloc_addr() public KVM: PPC: Rework H_PUT_TCE/H_GET_TCE handlers KVM: PPC: Use RCU for arch.spapr_tce_tables KVM: PPC: Account TCE-containing pages in locked_vm KVM: PPC: Replace SPAPR_TCE_SHIFT with IOMMU_PAGE_SHIFT_4K KVM: PPC: Move reusable bits of H_PUT_TCE handler to helpers KVM: Fix KVM_SMI chapter number KVM: PPC: Add support for multiple-TCE hcalls Documentation/virtual/kvm/api.txt | 27 ++- arch/powerpc/include/asm/kvm_book3s_64.h | 2 - arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/include/asm/kvm_ppc.h | 16 ++ arch/powerpc/include/asm/mmu-hash64.h | 3 + arch/powerpc/kvm/book3s.c | 2 +- arch/powerpc/kvm/book3s_64_vio.c | 185 ++++++++++++++++-- arch/powerpc/kvm/book3s_64_vio_hv.c | 310 +++++++++++++++++++++++++++---- arch/powerpc/kvm/book3s_hv.c | 26 ++- arch/powerpc/kvm/book3s_hv_rm_mmu.c | 17 -- arch/powerpc/kvm/book3s_hv_rmhandlers.S | 6 +- arch/powerpc/kvm/book3s_pr_papr.c | 35 ++++ arch/powerpc/kvm/powerpc.c | 3 + arch/powerpc/mm/hash_utils_64.c | 17 ++ include/linux/rculist.h | 38 ++++ 15 files changed, 610 insertions(+), 78 deletions(-) -- 2.4.0.rc3.8.gfb3e7d5 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev