Re: [PATCH 12/16] mm/page_alloc: use helper macro SZ_1{K,M}

From: Matthew Wilcox
Date: Fri Sep 09 2022 - 15:47:46 EST


On Fri, Sep 09, 2022 at 01:34:52PM +0200, David Hildenbrand wrote:
> On 09.09.22 11:24, Miaohe Lin wrote:
> > @@ -9055,7 +9055,7 @@ void *__init alloc_large_system_hash(const char *tablename,
> > /* It isn't necessary when PAGE_SIZE >= 1MB */
>
> Huh, how could we ever have that. Smells like dead code.
>
> > if (PAGE_SHIFT < 20)
>
> What about adjusting that as well? The it exactly matches the comment
>
> if (PAGE_SIZE >= SZ_1M)
>
> > - numentries = round_up(numentries, (1<<20)/PAGE_SIZE);
> > + numentries = round_up(numentries, SZ_1M / PAGE_SIZE);

The git history provides some clues here. See a7e833182a92.
But we do have an architecture which has ...

#ifdef CONFIG_PAGE_SIZE_1MB
#define PAGE_SHIFT 20
#define HEXAGON_L1_PTE_SIZE __HVM_PDE_S_1MB
#endif

I don't think it's an especially common config.