diff options
| author | Takuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp> | 2014-02-18 17:22:47 +0900 | 
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-02-18 10:07:26 +0100 | 
| commit | 5befdc385ddb2d5ae8995ad89004529a3acf58fc (patch) | |
| tree | e31e48e6f1f810596b6c5ca9663c02c02ed319b5 /virt | |
| parent | f18eb31f9df52c28ec86d18d72f66ef689878daa (diff) | |
| download | linux-5befdc385ddb2d5ae8995ad89004529a3acf58fc.tar.bz2 | |
KVM: Simplify kvm->tlbs_dirty handling
When this was introduced, kvm_flush_remote_tlbs() could be called
without holding mmu_lock.  It is now acknowledged that the function
must be called before releasing mmu_lock, and all callers have already
been changed to do so.
There is no need to use smp_mb() and cmpxchg() any more.
Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt')
| -rw-r--r-- | virt/kvm/kvm_main.c | 5 | 
1 files changed, 1 insertions, 4 deletions
| diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index a9e999a48e43..f5668a431d54 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -186,12 +186,9 @@ static bool make_all_cpus_request(struct kvm *kvm, unsigned int req)  void kvm_flush_remote_tlbs(struct kvm *kvm)  { -	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); +	kvm->tlbs_dirty = false;  }  EXPORT_SYMBOL_GPL(kvm_flush_remote_tlbs); |