Messages in this thread | | | Date | Mon, 4 Jul 2022 10:26:58 +0100 | From | Will Deacon <> | Subject | Re: [PATCH V3 3/4] mm/sparse-vmemmap: Generalise vmemmap_populate_hugepages() |
| |
On Sat, Jul 02, 2022 at 04:00:20PM +0800, Huacai Chen wrote: > From: Feiyang Chen <chenfeiyang@loongson.cn> > > Generalise vmemmap_populate_hugepages() so ARM64 & X86 & LoongArch can > share its implementation. > > Signed-off-by: Feiyang Chen <chenfeiyang@loongson.cn> > Signed-off-by: Huacai Chen <chenhuacai@loongson.cn> > --- > arch/arm64/mm/mmu.c | 53 ++++++----------------- > arch/loongarch/mm/init.c | 63 ++++++++------------------- > arch/x86/mm/init_64.c | 92 ++++++++++++++-------------------------- > include/linux/mm.h | 6 +++ > mm/sparse-vmemmap.c | 54 +++++++++++++++++++++++ > 5 files changed, 124 insertions(+), 144 deletions(-) > > diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c > index 626ec32873c6..b080a65c719d 100644 > --- a/arch/arm64/mm/mmu.c > +++ b/arch/arm64/mm/mmu.c > @@ -1158,49 +1158,24 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, > return vmemmap_populate_basepages(start, end, node, altmap); > } > #else /* !ARM64_KERNEL_USES_PMD_MAPS */ > +void __meminit vmemmap_set_pmd(pmd_t *pmd, void *p, int node, > + unsigned long addr, unsigned long next) > +{ > + pmd_set_huge(pmd, __pa(p), __pgprot(PROT_SECT_NORMAL)); > +} > + > +int __meminit vmemmap_check_pmd(pmd_t *pmd, int node, unsigned long addr, > + unsigned long next) > +{ > + vmemmap_verify((pte_t *)pmd, node, addr, next); > + return 1; > +}
nit, but please can you use 'pmdp' instead of 'pmd' for the pointers? We're pretty consistent elsewhere for arch/arm64 and it makes the READ_ONCE() usage easier to follow once functions end up loading the entry.
Thanks,
Will
| |