[PATCH v4 07/15] mm: pgtable: introduce pagetable_dtor()
Qi Zheng
zhengqi.arch at bytedance.com
Tue Jan 7 00:23:10 AEDT 2025
On 2025/1/6 20:36, Alexander Gordeev wrote:
> 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
Ah, I just don't want to put pagetable_dtor() in between
pagetable_pte_ctor() and ___pte_offset_map(), so I moved it above
pagetable_pte_ctor(). No other special reason. ;)
Thanks!
> 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 Linuxppc-dev
mailing list