Re: [PATCHv2 1/2] mm: Introduce wrappers to access mm->nr_ptes

From: Dave Hansen
Date: Fri Oct 06 2017 - 19:10:41 EST


On 10/05/2017 03:14 AM, Kirill A. Shutemov wrote:
> +++ b/arch/sparc/mm/hugetlbpage.c
> @@ -396,7 +396,7 @@ static void hugetlb_free_pte_range(struct mmu_gather *tlb, pmd_t *pmd,
>
> pmd_clear(pmd);
> pte_free_tlb(tlb, token, addr);
> - atomic_long_dec(&tlb->mm->nr_ptes);
> + mm_dec_nr_ptes(tlb->mm);
> }

If we're going to go replace all of these, I wonder if we should start
doing it more generically.

mm_dec_nr_pgtable(PGTABLE_PTE, tlb->mm)

or even:

mm_dec_nr_pgtable(PGTABLE_LEVEL1, tlb->mm)

Instead of having a separate batch of functions for each level.