• Paolo Bonzini's avatar
    Merge tag 'kvm-x86-asyncpf_abi-6.9' of https://github.com/kvm-x86/linux into HEAD · c822a075
    Paolo Bonzini authored
    Guest-side KVM async #PF ABI cleanup for 6.9
    
    Delete kvm_vcpu_pv_apf_data.enabled to fix a goof in KVM's async #PF ABI where
    the enabled field pushes the size of "struct kvm_vcpu_pv_apf_data" from 64 to
    68 bytes, i.e. beyond a single cache line.
    
    The enabled field is purely a guest-side flag that Linux-as-a-guest uses to
    track whether or not the guest has enabled async #PF support.  The actual flag
    that is passed to the host, i.e. to KVM proper, is a single bit in a synthetic
    MSR, MSR_KVM_ASYNC_PF_EN, i.e. is in a location completely unrelated to the
    shared kvm_vcpu_pv_apf_data structure.
    
    Simply drop the the field and use a dedicated guest-side per-CPU variable to
    fix the ABI, as opposed to fixing the documentation to match reality.  KVM has
    never consumed kvm_vcpu_pv_apf_data.enabled, so the odds of the ABI change
    breaking anything are extremely low.
    c822a075
kvm.c 27.8 KB