[lkml]   [2022]   [Jun]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC PATCH v2 1/3] mm: Factor out the pagetable pages account into new helper function

On 6/24/2022 12:07 AM, Matthew Wilcox wrote:
> On Wed, Jun 22, 2022 at 04:58:52PM +0800, Baolin Wang wrote:
>> +static inline void pgtable_set_and_inc(struct page *page)
>> +{
>> + __SetPageTable(page);
>> + inc_lruvec_page_state(page, NR_PAGETABLE);
>> +}
> I don't like the names. The accounting is also wrong for non-order-0
> allocations. It should be
> mod_lruvec_page_state(page, NR_PAGETABLE, compound_nr(page))

Yes, seems need another patch to convert using compound_nr().

> but it's probably better to change the API to pass in the number of
> pages instead of recalculating it.

Lots of callers will not calculate the number of pages, so I think we
can just add the compound_nr() in the API firstly, which also can avoid
changing lots of callers.

> I can't think of a good name. What's wrong with just adding
> static inline bool pgtable_pud_page_ctor(struct page *page)
> to go along with the pte and pmd variants?

IMHO that means we will need another function like
pgtable_kernel_pte_page_ctor/dtor() to account kernel pagetable, however
they do the same thing. So a common function which only do
'__SetPageTable' and account pagetable will be more helpful.

So how about pgtable_page_inc()/pgtable_page_dec()?

 \ /
  Last update: 2022-06-24 10:43    [W:0.041 / U:0.736 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site