Re: [PATCH 4/5] mm: soft-dirty bits for user memory changes tracking

From: Pavel Emelyanov
Date: Fri May 03 2013 - 15:09:20 EST


On 05/03/2013 03:36 PM, Xiao Guangrong wrote:
> On 05/01/2013 12:12 AM, Pavel Emelyanov wrote:
>
>> +static inline void clear_soft_dirty(struct vm_area_struct *vma,
>> + unsigned long addr, pte_t *pte)
>> +{
>> +#ifdef CONFIG_MEM_SOFT_DIRTY
>> + /*
>> + * The soft-dirty tracker uses #PF-s to catch writes
>> + * to pages, so write-protect the pte as well. See the
>> + * Documentation/vm/soft-dirty.txt for full description
>> + * of how soft-dirty works.
>> + */
>> + pte_t ptent = *pte;
>> + ptent = pte_wrprotect(ptent);
>> + ptent = pte_clear_flags(ptent, _PAGE_SOFT_DIRTY);
>> + set_pte_at(vma->vm_mm, addr, pte, ptent);
>> +#endif
>
> It seems that TLBs are not flushed and mmu-notification is not called?

TLBs are flushed by clear_refs_write()->flush_tlb_mm().

As far as MMU notification is concerned -- yes, you're right! I will
prepare the patch for this soon.

> .
>


Thanks,
Pavel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/