Re: [RFC PATCH v2 1/3] mm: Factor out the pagetable pages account into new helper function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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()?




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux