On 01.02.2021 09:21, Paolo Bonzini wrote:
On 01/02/21 09:13, Maciej S. Szmigiero wrote:
static int kvm_handle_hva_range(struct kvm *kvm,
unsigned long start,
unsigned long end,
@@ -1495,8 +1534,9 @@ static int kvm_handle_hva_range(struct kvm *kvm,
-static int kvm_tdp_mmu_handle_hva_range(struct kvm *kvm, unsigned long start,
- unsigned long end, unsigned long data,
- int (*handler)(struct kvm *kvm, struct kvm_memory_slot *slot,
- struct kvm_mmu_page *root, gfn_t start,
- gfn_t end, unsigned long data))
-{
Can you look into just marking these functions __always_inline? This should help the compiler change (*handler)(...) into a regular function call.
That looks even better - I see the compiler then turns the indirect call
into a direct one.
Will change to __always_inline instead of static dispatch in the next
version.
Thanks for the pointer.