Re: [PATCH v2 06/25] mm: Allow hpages to be arbitrary order

From: Matthew Wilcox
Date: Thu Feb 13 2020 - 09:30:08 EST


On Thu, Feb 13, 2020 at 05:11:07PM +0300, Kirill A. Shutemov wrote:
> On Tue, Feb 11, 2020 at 08:18:26PM -0800, Matthew Wilcox wrote:
> > From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx>
> >
> > Remove the assumption in hpage_nr_pages() that compound pages are
> > necessarily PMD sized. The return type needs to be signed as we need
> > to use the negative value, eg when calling update_lru_size().
>
> But should it be long?
> Any reason to use macros instead of inline function?

Huh, that does look like a bit of a weird change now you point it out.
I'll change it back:

static inline int hpage_nr_pages(struct page *page)
{
- if (unlikely(PageTransHuge(page)))
- return HPAGE_PMD_NR;
- return 1;
+ return compound_nr(page);
}