Hi Gavin, On Tue, Aug 8, 2023 at 9:00 PM Gavin Shan <gshan@xxxxxxxxxx> wrote: > > > On 8/9/23 09:13, Raghavendra Rao Ananta wrote: > > There's no reason for the architectures to declare > > kvm_arch_flush_remote_tlbs() in their own headers. Hence to > > avoid this duplication, make the declaration global, leaving > > the architectures to define only __KVM_HAVE_ARCH_FLUSH_REMOTE_TLBS > > as needed. > > > > Signed-off-by: Raghavendra Rao Ananta <rananta@xxxxxxxxxx> > > --- > > arch/mips/include/asm/kvm_host.h | 1 - > > include/linux/kvm_host.h | 2 ++ > > 2 files changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/arch/mips/include/asm/kvm_host.h b/arch/mips/include/asm/kvm_host.h > > index 9b0ad8f3bf327..54a85f1d4f2c8 100644 > > --- a/arch/mips/include/asm/kvm_host.h > > +++ b/arch/mips/include/asm/kvm_host.h > > @@ -897,6 +897,5 @@ static inline void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu) {} > > static inline void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu) {} > > > > #define __KVM_HAVE_ARCH_FLUSH_REMOTE_TLBS > > -int kvm_arch_flush_remote_tlbs(struct kvm *kvm); > > > > #endif /* __MIPS_KVM_HOST_H__ */ > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > > index e3f968b38ae97..ade5d4500c2ce 100644 > > --- a/include/linux/kvm_host.h > > +++ b/include/linux/kvm_host.h > > @@ -1484,6 +1484,8 @@ static inline int kvm_arch_flush_remote_tlbs(struct kvm *kvm) > > { > > return -ENOTSUPP; > > } > > +#else > > +int kvm_arch_flush_remote_tlbs(struct kvm *kvm); > > #endif > > > > #ifdef __KVM_HAVE_ARCH_NONCOHERENT_DMA > > Is the declaration inconsistent to that in arch/x86/include/asm/kvm_host.h? > In order to keep them consistent, I guess we need move kvm_arch_flush_remote_tlbs() > from x86's header file to arch/x86/kvm/mmu/mmu.c and 'inline' needs to be dropped. > Unsure of the original intentions, I didn't want to disturb any existing arrangements. If more people agree to this refactoring, I'm happy to move. Thank you. Raghavendra > Thanks, > Gavin >