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.
- Mario
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html