Re: [PATCH v2 2/3] KVM: x86: introduce definitions to support static calls for kvm_x86_ops

From: Paolo Bonzini
Date: Fri Jan 15 2021 - 08:52:46 EST


On 15/01/21 10:26, Peter Zijlstra wrote:
+#define KVM_X86_OP(func) \
+ DEFINE_STATIC_CALL_NULL(kvm_x86_##func, \
+ *(((struct kvm_x86_ops *)0)->func));
+#define KVM_X86_OP_NULL KVM_X86_OP
+#include <asm/kvm-x86-ops.h>
+EXPORT_STATIC_CALL_GPL(kvm_x86_get_cs_db_l_bits);
+EXPORT_STATIC_CALL_GPL(kvm_x86_cache_reg);
+EXPORT_STATIC_CALL_GPL(kvm_x86_tlb_flush_current);
Would something like:

https://lkml.kernel.org/r/20201110103909.GD2594@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Be useful? That way modules can call the static_call() but not change
it.


Maybe not in these cases, but in general there may be cases where we later want to change the static_call (for example replacing jump labels with static_calls).

Paolo