Re: [RFC PATCH v2 55/69] KVM: VMX: Add 'main.c' to wrap VMX and TDX
From: Paolo Bonzini
Date: Thu Jul 08 2021 - 11:29:17 EST
On 08/07/21 17:21, Isaku Yamahata wrote:
On Tue, Jul 06, 2021 at 04:43:22PM +0200,
Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
On 03/07/21 00:05, isaku.yamahata@xxxxxxxxx wrote:
+#include "vmx.c"
What makes it particularly hard to have this as a separate .o file rather
than an #include?
It's to let complier to optimize functionc call of "if (tdx) tdx_xxx() else vmx_xxx()",
given x86_ops static call story.
As long as it's not an indirect call, not inlining tdx_xxx and vmx_xxx
is unlikely to give a lot of benefit.
What you could do, is use a static branch that bypasses the
"is_tdx_vcpu/vm" check if no TDX VM is running. A similar technique is
used to bypass the test for in-kernel APIC if all VM have it.
Paolo