]> www.infradead.org Git - users/dwmw2/linux.git/tag
kvm-x86-asyncpf_abi-6.9
object df01f0a1165c35e95b5f52c7ba25c19020352ff9
authorSean Christopherson <seanjc@google.com>
Wed, 14 Feb 2024 18:07:45 +0000 (10:07 -0800)
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.
-----BEGIN PGP SIGNATURE-----

iQJGBAABCgAwFiEEMHr+pfEFOIzK+KY1YJEiAU0MEvkFAmXNBAkSHHNlYW5qY0Bn
b29nbGUuY29tAAoJEGCRIgFNDBL5hlwQAJdviHvJKSwQXqdpF8kBi/mTTGWGuxaZ
RkOfjAcUiyczWj5HFzobEbSDOu5YitgVQCJ/z5N1fRrABURLs3jKTgUpxBBJiFrt
Ijn0hCsc1WIav8zFZD282ax2mx1ioL337ekPUgx59FxP9bNUmzwKnafMSm49PKZ1
sNKcG0AJXMpOGDowumdMtWVSENz7s0Vuxi4/A+SdTV++bB+EuD2YysXZCNUeYHOh
JDXGgR05OntYreJLcQDoMlr6Rz1WylFgT82G4FRfEjJ4eqArmf3SMiVTFgm2LLSr
1gVKwlO+h7vOsisV25bCAdJ6xvZDScZYsUF89FdvxfAhG0sVKaMWMPKcSI94lxhd
YkEL60yX12ukZe5b9R70BGqAzLJAmAPaZLAxKXxZGbVA/KOjzebhq94Y5TTCMqDA
iGAFnRS6hQ5ks/ZGKw2FQg2NR6hdMf2kCLG4PM40AoJdqEd6640ZdmSrDM+yX1kM
DX9sfdBziPI2kqYy2vGkTU7w0QVC9TMjP6GwaqG6BSFBPTSXPJeLfN/uBaWfADXr
MaVKcUI+1Cg1J0JKa8ekL+TczSMz7dKVVcbbKHqUiKmdSKHmtgTY/oBRkFrU+2fm
hgnACvEnzKcZuYbegzwo4+UqE1WEyrkeILoOoiW2Ns4gKEC8Ea/OHs5aM5LGQjG2
Pna3UMKhMZQA
=bTPh
-----END PGP SIGNATURE-----