Stub out and rename the eVMCS static key when CONFIG_HYPERV=n. gcc (as of gcc-12) isn't clever enough to elide the nop placeholder when there's no code guarded by a static branch. With gcc-12, because of the vast number of VMCS accesses, eliminating the nops reduces the size of kvm-intel.ko by ~7.5% (200KiB). Please holler if you would rather patch 3 be squashed into patch 2, i.e. add the wrapper and rename the key in one go. I split them because the combined changelog was getting into "here's a list of changes" territory. Patch 1 is tangentially related cleanup. Applies on `git@xxxxxxxxxx:kvm-x86/linux.git vmx`. v2: - Collect reviews. [Vitaly] - Rename wrapper. [Vitaly, Paolo] - Rename key too. v1: https://lore.kernel.org/all/20230208205430.1424667-1-seanjc@xxxxxxxxxx Sean Christopherson (3): KVM: nVMX: Move EVMCS1_SUPPORT_* macros to hyperv.c KVM: VMX: Stub out enable_evmcs static key for CONFIG_HYPERV=n KVM: VMX: Rename "KVM is using eVMCS" static key to match its wrapper arch/x86/kvm/vmx/hyperv.c | 107 +++++++++++++++++++++++++++++++++- arch/x86/kvm/vmx/hyperv.h | 115 +++---------------------------------- arch/x86/kvm/vmx/vmx.c | 17 +++--- arch/x86/kvm/vmx/vmx_ops.h | 22 +++---- 4 files changed, 133 insertions(+), 128 deletions(-) base-commit: 93827a0a36396f2fd6368a54a020f420c8916e9b -- 2.39.1.581.gbfd45094c4-goog