On Thu, Jun 30, 2022 at 6:32 AM Huacai Chen <chenhuacai@xxxxxxxxxxx> wrote: > > From: Feiyang Chen <chenfeiyang@xxxxxxxxxxx> > > Generalise vmemmap_populate_hugepages() so ARM64 & X86 & LoongArch can > share its implementation. Sharing this function is good, thanks for consolidating this > Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx> > Signed-off-by: Feiyang Chen <chenfeiyang@xxxxxxxxxxx> The Signed-off-by lines are in the wrong order, it should start with the author and end with the final submitter. > index 33e2a1ceee72..6f2e40bb695d 100644 > --- a/mm/sparse-vmemmap.c > +++ b/mm/sparse-vmemmap.c > @@ -686,6 +686,60 @@ int __meminit vmemmap_populate_basepages(unsigned long start, unsigned long end, > return vmemmap_populate_range(start, end, node, altmap, NULL); > } > > +void __weak __meminit vmemmap_set_pmd(pmd_t *pmd, void *p, int node, > + unsigned long addr, unsigned long next) > +{ > +} > + > +int __weak __meminit vmemmap_check_pmd(pmd_t *pmd, int node, unsigned long addr, > + unsigned long next) > +{ > + return 0; > +} > + I think inline functions would be better here, both for compiler optimization and to make it easier to track the code flow. The normal way we do these in architecture specific headers is to override the functions by defining a macro of the same name. Arnd