diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2024-03-19 02:03:42 +0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2024-03-19 02:03:42 +0300 |
commit | c822a075ab2dbbcecb52b79331a5edd8395bdf4b (patch) | |
tree | 9cfda6e3cdc2e5731b707b2e551c5acf6ef43326 /arch/x86/include/uapi/asm/kvm_para.h | |
parent | 1d55934ed584861d06efc8c61a77e9cbe287e7a2 (diff) | |
parent | df01f0a1165c35e95b5f52c7ba25c19020352ff9 (diff) | |
download | linux-c822a075ab2dbbcecb52b79331a5edd8395bdf4b.tar.xz |
Merge tag 'kvm-x86-asyncpf_abi-6.9' of https://github.com/kvm-x86/linux into HEAD
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.
Diffstat (limited to 'arch/x86/include/uapi/asm/kvm_para.h')
-rw-r--r-- | arch/x86/include/uapi/asm/kvm_para.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/x86/include/uapi/asm/kvm_para.h b/arch/x86/include/uapi/asm/kvm_para.h index 6bc3456a8ebf..a1efa7907a0b 100644 --- a/arch/x86/include/uapi/asm/kvm_para.h +++ b/arch/x86/include/uapi/asm/kvm_para.h @@ -142,7 +142,6 @@ struct kvm_vcpu_pv_apf_data { __u32 token; __u8 pad[56]; - __u32 enabled; }; #define KVM_PV_EOI_BIT 0 |