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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>