On 06/05/2014 10:52 PM, Xiao Guangrong wrote: > On 06/06/2014 03:09 AM, Mario Smarduch wrote: >> On 06/04/2014 11:55 PM, Xiao Guangrong wrote: >>> On 06/05/2014 05:11 AM, Mario Smarduch wrote: >>> >>>> + spin_lock(&kvm->mmu_lock); >>>> + >>>> + for (i = 0; i < n / sizeof(long); i++) { >>>> + unsigned long mask; >>>> + gfn_t offset; >>>> + >>>> + if (!dirty_bitmap[i]) >>>> + continue; >>>> + >>>> + is_dirty = true; >>>> + >>>> + mask = xchg(&dirty_bitmap[i], 0); >>>> + dirty_bitmap_buffer[i] = mask; >>>> + >>>> + offset = i * BITS_PER_LONG; >>>> + kvm_mmu_write_protect_pt_masked(kvm, memslot, offset, mask); >>>> + } >>>> + if (is_dirty) >>>> + kvm_flush_remote_tlbs(kvm); >>> >>> You moved the flush into mmu-lock. Please do not :). >>> >>> See commit 198c74f43f0f5473f99967aead30ddc622804bc1 >>> >> >> Thanks for reviewing, I revised to pick up your version. >> >> Functionally there should be no impact on ARM, the >> TLB flush function is different. > > Yeah, i agree your point on ARM, but your patch moved > the function from x86 to the common code, that means > this function is reused between ARM and x86. No? > Yes you pretty much summarized it. My point was more like I'm glad the change had no impact on ARM :) Thanks, - Mario -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html