Subject: [RESEND PATCH v7 3/4] arm: dirty log write protect management support

From: [email-masked] (Mario Smarduch)
Date: Fri, 06 Jun 2014 10:36:41 -0700

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