Re: [patch 3/5] remove ptep_test_and_clear_dirty and ptep_clear_flush_dirty.

Zachary Amsden
2007-07-03T01:29:53Z

Martin Schwidefsky wrote:
> From: Martin Schwidefsky <schwidefsky@de.ibm.com>
>
> Nobody is using ptep_test_and_clear_dirty and ptep_clear_flush_dirty.
> Remove the functions from all architectures.
>
>
> -static inline int
> -ptep_test_and_clear_dirty (struct vm_area_struct *vma, unsigned long addr, pte_t *ptep)
> -{
> -#ifdef CONFIG_SMP
> - if (!pte_dirty(*ptep))
> - return 0;
> - return test_and_clear_bit(_PAGE_D_BIT, ptep);
> -#else
> - pte_t pte = *ptep;
> - if (!pte_dirty(pte))
> - return 0;
> - set_pte_at(vma->vm_mm, addr, ptep, pte_mkclean(pte));
> - return 1;
> -#endif
> -}

I've not followed all the changes lately - what is the current protocol
for clearing dirty bit? Is it simply pte_clear followed by set or is it
not done at all? At least for i386 and virtualization, we had several
optimizations to the test_and_clear path that are not possible with a
pte_clear / set_pte approach.

Zach