Re: [PATCH v10 1/6] KVM: Add architecture-specific TLB flush implementations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/10/2014 08:12 PM, Christoffer Dall wrote:
> On Tue, Aug 26, 2014 at 05:04:03PM -0700, Mario Smarduch wrote:
>> Add support to declare architecture specific TLB flush function, for now only
>> ARMv7.
>>
>> Signed-off-by: Mario Smarduch <m.smarduch@xxxxxxxxxxx>
>> ---
>>  virt/kvm/Kconfig    | 3 +++
>>  virt/kvm/kvm_main.c | 4 ++++
>>  2 files changed, 7 insertions(+)
>>
>> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
>> index 13f2d19..f1efaa5 100644
>> --- a/virt/kvm/Kconfig
>> +++ b/virt/kvm/Kconfig
>> @@ -34,3 +34,6 @@ config HAVE_KVM_CPU_RELAX_INTERCEPT
>>  
>>  config KVM_VFIO
>>         bool
>> +
>> +config HAVE_KVM_ARCH_TLB_FLUSH_ALL
>> +       bool
>> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
>> index 4b6c01b..d0a24f5 100644
>> --- a/virt/kvm/kvm_main.c
>> +++ b/virt/kvm/kvm_main.c
>> @@ -186,12 +186,16 @@ static bool make_all_cpus_request(struct kvm *kvm, unsigned int req)
>>  
>>  void kvm_flush_remote_tlbs(struct kvm *kvm)
>>  {
>> +#ifdef CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL
>> +	kvm_arch_flush_remote_tlbs(kvm);
> 
> missing prototype declaration?

A subsequent patch adds HAVE_KVM_ARCH_TLB_FLUSH_ALL support
for armv7 that includes prototype definition, so far armv7
is only architecture with HAVE_KVM_ARCH_TLB_FLUSH_ALL declared.

> 
>> +#else
>>  	long dirty_count = kvm->tlbs_dirty;
>>  
>>  	smp_mb();
>>  	if (make_all_cpus_request(kvm, KVM_REQ_TLB_FLUSH))
>>  		++kvm->stat.remote_tlb_flush;
>>  	cmpxchg(&kvm->tlbs_dirty, dirty_count, 0);
>> +#endif
>>  }
>>  EXPORT_SYMBOL_GPL(kvm_flush_remote_tlbs);
>>  
>> -- 
>> 1.8.3.2
> 
> Otherwise:
> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
> 

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux