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

From: Kirill A. Shutemov
Date: Sun Oct 08 2017 - 08:55:07 EST


On Fri, Oct 06, 2017 at 04:10:31PM -0700, Dave Hansen wrote:
> 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.

We don't have this kind of consolidation for any other page table related
helpers. Don't see a reason to start here.

This kind of changes can be part of overal page table privitives redesign
once/if we get there.

But feel free to send patches. :)

--
Kirill A. Shutemov