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!