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

From: Vitaly Kuznetsov
Date: Thu Oct 20 2022 - 04:22:49 EST


Sean Christopherson <seanjc@xxxxxxxxxx> writes:

> 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.

Thanks for the review! Let me do v12 to address your comments, I plan to
do it tomorrow.

--
Vitaly