Re: [PATCH v11 00/46] KVM: x86: hyper-v: Fine-grained TLB flush + L2 TLB flush features

Sean Christopherson
2022-10-19T22:22:18Z

On Tue, Oct 04, 2022, Vitaly Kuznetsov wrote:
> Changes since v10 (Sean):
> - New patches added:
> - "x86/hyperv: Move VMCB enlightenment definitions to hyperv-tlfs.h"
> - "KVM: selftests: Move "struct hv_enlightenments" to x86_64/svm.h"
> - "KVM: SVM: Add a proper field for Hyper-V VMCB enlightenments"
> - 'x86/hyperv: KVM: Rename "hv_enlightenments" to "hv_vmcb_enlightenments"'
> - 'KVM: VMX: Rename "vmx/evmcs.{ch}" to "vmx/hyperv.{ch}"'
> - "KVM: x86: Move clearing of TLB_FLUSH_CURRENT to kvm_vcpu_flush_tlb_all()"
> - "KVM: selftests: Drop helpers to read/write page table entries"
> - "KVM: x86: Make kvm_hv_get_assist_page() return 0/-errno"
> - Removed patches:
> - "KVM: selftests: Export _vm_get_page_table_entry()"
> - Main differences:
> - Move Hyper-V TLB flushing out of kvm_service_local_tlb_flush_requests().
> On SVM, Hyper-V TLB flush FIFO is emptied from svm_flush_tlb_current()
> - Don't disable IRQs in hv_tlb_flush_enqueue().
> - Don't call kvm_vcpu_flush_tlb_guest() from kvm_hv_vcpu_flush_tlb() but
> return -errno instead.
> - Avoid unneded flushes in !EPT/!NPT cases.
> - Optimize hv_is_vp_in_sparse_set().
> - Move TLFS definitions to asm/hyperv-tlfs.h.
> - Use u64 vals in Hyper-V PV TLB flush selftest + multiple smaler changes
> - Typos, indentation, renames, ...

Some nits throughout, but nothing major. Everything could be fixed up when
applying, but if it's not too much trouble I'd prefer a v11, the potential changes
to kvm_hv_hypercall_complete() aren't completely trivial.