On 2/12/22 14:49, Muchun Song wrote: > On Sat, Feb 12, 2022 at 6:08 PM Muchun Song <songmuchun@xxxxxxxxxxxxx> wrote: >> On Fri, Feb 11, 2022 at 8:37 PM Joao Martins <joao.m.martins@xxxxxxxxxx> wrote: >>> On 2/11/22 07:54, Muchun Song wrote: >>>> On Fri, Feb 11, 2022 at 3:34 AM Joao Martins <joao.m.martins@xxxxxxxxxx> wrote: >>>>> - if (vmemmap_populate(start, end, nid, altmap)) >>>>> + if (pgmap && pgmap_vmemmap_nr(pgmap) > 1 && !altmap) >>>> >>>> Should we add a judgment like "is_power_of_2(sizeof(struct page))" since >>>> this optimization is only applied when the size of the struct page does not >>>> cross page boundaries? >>> >>> Totally miss that -- let me make that adjustment. >>> >>> Can I ask which architectures/conditions this happens? >> >> E.g. arm64 when !CONFIG_MEMCG. > > Plus !CONFIG_SLUB even on x86_64. Oh, thanks for the ref -- hadn't realized that this was possible on arm64/x86.