[PATCH v4 07/15] mm: pgtable: introduce pagetable_dtor()
Alexander Gordeev
agordeev at linux.ibm.com
Mon Jan 6 04:36:55 PST 2025
On Mon, Jan 06, 2025 at 06:55:58PM +0800, Qi Zheng wrote:
> > > +static inline void pagetable_dtor(struct ptdesc *ptdesc)
> > > +{
> > > + struct folio *folio = ptdesc_folio(ptdesc);
> > > +
> > > + ptlock_free(ptdesc);
> > > + __folio_clear_pgtable(folio);
> > > + lruvec_stat_sub_folio(folio, NR_PAGETABLE);
> > > +}
> > > +
> >
> > If I am not mistaken, it is just pagetable_pte_dtor() rename.
> > What is the point in moving the code around?
>
> No, this is to unify pagetable_p*_dtor() into pagetable_dtor(), so
> that we can move pagetable_dtor() to __tlb_remove_table(), and then
> ptlock and PTE page can be freed together through RCU, which is
> also the main purpose of this patch series.
I am only talking about this patch. pagetable_dtor() code above is
the same pagetable_pte_dtor() below - it is only the function name
that changed. So why to move the function body? Anyway, that is
just a nit.
> Thanks!
> > > -static inline void pagetable_pte_dtor(struct ptdesc *ptdesc)
> > > -{
> > > - struct folio *folio = ptdesc_folio(ptdesc);
> > > -
> > > - ptlock_free(ptdesc);
> > > - __folio_clear_pgtable(folio);
> > > - lruvec_stat_sub_folio(folio, NR_PAGETABLE);
> > > -}
Thank you!
More information about the linux-riscv
mailing list