Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()
Hi Baoquan, I love your patch! Perhaps something to improve: [auto build test WARNING on linux/master] [also build test WARNING on linus/master v5.11-rc4 next-20210120] [cannot apply to mmotm/master hnaz-linux-mm/master ia64/next] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1e2a199f6ccdc15cf111d68d212e2fd4ce65682e config: mips-randconfig-r036-20210120 (attached as .config) compiler: mips-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/1bbb0b35dd2fae4a7a38098e63899677c2e53108 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 git checkout 1bbb0b35dd2fae4a7a38098e63899677c2e53108 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): mm/page_alloc.c:3597:15: warning: no previous prototype for 'should_fail_alloc_page' [-Wmissing-prototypes] 3597 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) | ^~ >> mm/page_alloc.c:6258:23: warning: no previous prototype for >> 'memmap_init_zone' [-Wmissing-prototypes] 6258 | void __meminit __weak memmap_init_zone(unsigned long size, int nid, | ^~~~ vim +/memmap_init_zone +6258 mm/page_alloc.c 6257 > 6258 void __meminit __weak memmap_init_zone(unsigned long size, int nid, 6259unsigned long zone, 6260unsigned long range_start_pfn) 6261 { 6262 unsigned long start_pfn, end_pfn; 6263 unsigned long range_end_pfn = range_start_pfn + size; 6264 int i; 6265 6266 for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) { 6267 start_pfn = clamp(start_pfn, range_start_pfn, range_end_pfn); 6268 end_pfn = clamp(end_pfn, range_start_pfn, range_end_pfn); 6269 6270 if (end_pfn > start_pfn) { 6271 size = end_pfn - start_pfn; 6272 memmap_init_range(size, nid, zone, start_pfn, range_end_pfn, 6273 MEMINIT_EARLY, NULL, MIGRATE_MOVABLE); 6274 } 6275 } 6276 } 6277 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org .config.gz Description: application/gzip
Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()
On Thu, Jan 21, 2021 at 04:17:27PM +0800, Baoquan He wrote: > On 01/20/21 at 11:47pm, kernel test robot wrote: > > Hi Baoquan, > > > > I love your patch! Perhaps something to improve: > > > > [auto build test WARNING on linux/master] > > [also build test WARNING on linus/master v5.11-rc4 next-20210120] > > [cannot apply to mmotm/master hnaz-linux-mm/master ia64/next] > > [If your patch is applied to the wrong git tree, kindly drop us a note. > > And when submitting patch, we suggest to use '--base' as documented in > > https://git-scm.com/docs/git-format-patch] > > > > url: > > https://github.com/0day-ci/linux/commits/Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > > 1e2a199f6ccdc15cf111d68d212e2fd4ce65682e > > config: mips-randconfig-r036-20210120 (attached as .config) > > compiler: mips-linux-gcc (GCC) 9.3.0 > > reproduce (this is a W=1 build): > > wget > > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O > > ~/bin/make.cross > > chmod +x ~/bin/make.cross > > # > > https://github.com/0day-ci/linux/commit/1bbb0b35dd2fae4a7a38098e63899677c2e53108 > > git remote add linux-review https://github.com/0day-ci/linux > > git fetch --no-tags linux-review > > Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 > > git checkout 1bbb0b35dd2fae4a7a38098e63899677c2e53108 > > # save the attached .config to linux build tree > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross > > ARCH=mips > > > > If you fix the issue, kindly add following tag as appropriate > > Reported-by: kernel test robot > > > > All warnings (new ones prefixed by >>): > > > >mm/page_alloc.c:3597:15: warning: no previous prototype for > > 'should_fail_alloc_page' [-Wmissing-prototypes] > > 3597 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned > > int order) > > | ^~ > > >> mm/page_alloc.c:6258:23: warning: no previous prototype for > > >> 'memmap_init_zone' [-Wmissing-prototypes] > > 6258 | void __meminit __weak memmap_init_zone(unsigned long size, int > > nid, > > This is not introduced by this patch, but existing issue, should > be not related to this patchset. I will investigate and see what we > should do with memmap_init_zone(), adding static or adding it to header > file, or just leave it as should_fail_alloc_page(). > > > By the way, I tried to reproduce on a fedora 32 system of x86 arch, but > met below issue. could you help check what I can do to fix the error. > > > [root@dell-per710-01 linux]# COMPILER_INSTALL_PATH=~/0day COMPILER=gcc-9.3.0 > ~/bin/make.cross ARCH=mips > Compiler will be installed in /root/0day > make W=1 CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y > CROSS_COMPILE=/root/0day/gcc-9.3.0-nolibc/mips-linux/bin/mips-linux- > --jobs=16 ARCH=mips > HOSTCXX scripts/gcc-plugins/latent_entropy_plugin.so > HOSTCXX scripts/gcc-plugins/structleak_plugin.so > HOSTCXX scripts/gcc-plugins/randomize_layout_plugin.so > In file included from > /root/0day/gcc-9.3.0-nolibc/mips-linux/bin/../lib/gcc/mips-linux/9.3.0/plugin/include/gcc-plugin.h:28, > from scripts/gcc-plugins/gcc-common.h:7, > from scripts/gcc-plugins/latent_entropy_plugin.c:78: > /root/0day/gcc-9.3.0-nolibc/mips-linux/bin/../lib/gcc/mips-linux/9.3.0/plugin/include/system.h:687:10: > fatal error: gmp.h: No such file or directy > 687 | #include > | ^~~ > compilation terminated. > make[2]: *** [scripts/gcc-plugins/Makefile:47: > scripts/gcc-plugins/latent_entropy_plugin.so] Error 1 > make[2]: *** Waiting for unfinished jobs.. Do you have gmp-devel installed? > Thanks > Baoquan > > > | ^~~~ > > > > > > vim +/memmap_init_zone +6258 mm/page_alloc.c > > > > 6257 > > > 6258 void __meminit __weak memmap_init_zone(unsigned long size, int > > > nid, > > 6259unsigned long zone, > > 6260unsigned long range_start_pfn) > > 6261 { > > 6262 unsigned long start_pfn, end_pfn; > > 6263 unsigned long range_end_pfn = range_start_pfn + size; > > 6264 int i; > > 6265 > > 6266 for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, > > NULL) { > > 6267 start_pfn = clamp(start_pfn, range_start_pfn, > > range_end_pfn); > > 6268 end_pfn = clamp(end_pfn, range_start_pfn, > > range_end_pfn); > > 6269 > > 6270 if (end_pfn > start_pfn) { > > 6271 size = end_pfn - start_pfn; > > 6272 memmap_init_range(size, nid, zone, > > start_pfn, range_end
Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()
On 01/20/21 at 11:47pm, kernel test robot wrote: > Hi Baoquan, > > I love your patch! Perhaps something to improve: > > [auto build test WARNING on linux/master] > [also build test WARNING on linus/master v5.11-rc4 next-20210120] > [cannot apply to mmotm/master hnaz-linux-mm/master ia64/next] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch] > > url: > https://github.com/0day-ci/linux/commits/Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > 1e2a199f6ccdc15cf111d68d212e2fd4ce65682e > config: mips-randconfig-r036-20210120 (attached as .config) > compiler: mips-linux-gcc (GCC) 9.3.0 > reproduce (this is a W=1 build): > wget > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O > ~/bin/make.cross > chmod +x ~/bin/make.cross > # > https://github.com/0day-ci/linux/commit/1bbb0b35dd2fae4a7a38098e63899677c2e53108 > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review > Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 > git checkout 1bbb0b35dd2fae4a7a38098e63899677c2e53108 > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross > ARCH=mips > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot > > All warnings (new ones prefixed by >>): > >mm/page_alloc.c:3597:15: warning: no previous prototype for > 'should_fail_alloc_page' [-Wmissing-prototypes] > 3597 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int > order) > | ^~ > >> mm/page_alloc.c:6258:23: warning: no previous prototype for > >> 'memmap_init_zone' [-Wmissing-prototypes] > 6258 | void __meminit __weak memmap_init_zone(unsigned long size, int nid, This is not introduced by this patch, but existing issue, should be not related to this patchset. I will investigate and see what we should do with memmap_init_zone(), adding static or adding it to header file, or just leave it as should_fail_alloc_page(). By the way, I tried to reproduce on a fedora 32 system of x86 arch, but met below issue. could you help check what I can do to fix the error. [root@dell-per710-01 linux]# COMPILER_INSTALL_PATH=~/0day COMPILER=gcc-9.3.0 ~/bin/make.cross ARCH=mips Compiler will be installed in /root/0day make W=1 CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y CROSS_COMPILE=/root/0day/gcc-9.3.0-nolibc/mips-linux/bin/mips-linux- --jobs=16 ARCH=mips HOSTCXX scripts/gcc-plugins/latent_entropy_plugin.so HOSTCXX scripts/gcc-plugins/structleak_plugin.so HOSTCXX scripts/gcc-plugins/randomize_layout_plugin.so In file included from /root/0day/gcc-9.3.0-nolibc/mips-linux/bin/../lib/gcc/mips-linux/9.3.0/plugin/include/gcc-plugin.h:28, from scripts/gcc-plugins/gcc-common.h:7, from scripts/gcc-plugins/latent_entropy_plugin.c:78: /root/0day/gcc-9.3.0-nolibc/mips-linux/bin/../lib/gcc/mips-linux/9.3.0/plugin/include/system.h:687:10: fatal error: gmp.h: No such file or directy 687 | #include | ^~~ compilation terminated. make[2]: *** [scripts/gcc-plugins/Makefile:47: scripts/gcc-plugins/latent_entropy_plugin.so] Error 1 make[2]: *** Waiting for unfinished jobs.. Thanks Baoquan > | ^~~~ > > > vim +/memmap_init_zone +6258 mm/page_alloc.c > > 6257 > > 6258void __meminit __weak memmap_init_zone(unsigned long size, int > > nid, > 6259 unsigned long zone, > 6260 unsigned long range_start_pfn) > 6261{ > 6262unsigned long start_pfn, end_pfn; > 6263unsigned long range_end_pfn = range_start_pfn + size; > 6264int i; > 6265 > 6266for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, > NULL) { > 6267start_pfn = clamp(start_pfn, range_start_pfn, > range_end_pfn); > 6268end_pfn = clamp(end_pfn, range_start_pfn, > range_end_pfn); > 6269 > 6270if (end_pfn > start_pfn) { > 6271size = end_pfn - start_pfn; > 6272memmap_init_range(size, nid, zone, > start_pfn, range_end_pfn, > 6273 MEMINIT_EARLY, NULL, > MIGRATE_MOVABLE); > 6274} > 6275} > 6276} > 6277 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/
Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()
On 01/21/21 at 10:25am, Mike Rapoport wrote: > On Thu, Jan 21, 2021 at 04:17:27PM +0800, Baoquan He wrote: > > On 01/20/21 at 11:47pm, kernel test robot wrote: > > > Hi Baoquan, > > > > > > I love your patch! Perhaps something to improve: > > > > > > [auto build test WARNING on linux/master] > > > [also build test WARNING on linus/master v5.11-rc4 next-20210120] > > > [cannot apply to mmotm/master hnaz-linux-mm/master ia64/next] > > > [If your patch is applied to the wrong git tree, kindly drop us a note. > > > And when submitting patch, we suggest to use '--base' as documented in > > > https://git-scm.com/docs/git-format-patch] > > > > > > url: > > > https://github.com/0day-ci/linux/commits/Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 > > > base: > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > > > 1e2a199f6ccdc15cf111d68d212e2fd4ce65682e > > > config: mips-randconfig-r036-20210120 (attached as .config) > > > compiler: mips-linux-gcc (GCC) 9.3.0 > > > reproduce (this is a W=1 build): > > > wget > > > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross > > > -O ~/bin/make.cross > > > chmod +x ~/bin/make.cross > > > # > > > https://github.com/0day-ci/linux/commit/1bbb0b35dd2fae4a7a38098e63899677c2e53108 > > > git remote add linux-review https://github.com/0day-ci/linux > > > git fetch --no-tags linux-review > > > Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 > > > git checkout 1bbb0b35dd2fae4a7a38098e63899677c2e53108 > > > # save the attached .config to linux build tree > > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross > > > ARCH=mips > > > > > > If you fix the issue, kindly add following tag as appropriate > > > Reported-by: kernel test robot > > > > > > All warnings (new ones prefixed by >>): > > > > > >mm/page_alloc.c:3597:15: warning: no previous prototype for > > > 'should_fail_alloc_page' [-Wmissing-prototypes] > > > 3597 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned > > > int order) > > > | ^~ > > > >> mm/page_alloc.c:6258:23: warning: no previous prototype for > > > >> 'memmap_init_zone' [-Wmissing-prototypes] > > > 6258 | void __meminit __weak memmap_init_zone(unsigned long size, int > > > nid, > > > > This is not introduced by this patch, but existing issue, should > > be not related to this patchset. I will investigate and see what we > > should do with memmap_init_zone(), adding static or adding it to header > > file, or just leave it as should_fail_alloc_page(). > > > > > > By the way, I tried to reproduce on a fedora 32 system of x86 arch, but > > met below issue. could you help check what I can do to fix the error. > > > > > > [root@dell-per710-01 linux]# COMPILER_INSTALL_PATH=~/0day > > COMPILER=gcc-9.3.0 ~/bin/make.cross ARCH=mips > > Compiler will be installed in /root/0day > > make W=1 CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y > > CROSS_COMPILE=/root/0day/gcc-9.3.0-nolibc/mips-linux/bin/mips-linux- > > --jobs=16 ARCH=mips > > HOSTCXX scripts/gcc-plugins/latent_entropy_plugin.so > > HOSTCXX scripts/gcc-plugins/structleak_plugin.so > > HOSTCXX scripts/gcc-plugins/randomize_layout_plugin.so > > In file included from > > /root/0day/gcc-9.3.0-nolibc/mips-linux/bin/../lib/gcc/mips-linux/9.3.0/plugin/include/gcc-plugin.h:28, > > from scripts/gcc-plugins/gcc-common.h:7, > > from scripts/gcc-plugins/latent_entropy_plugin.c:78: > > /root/0day/gcc-9.3.0-nolibc/mips-linux/bin/../lib/gcc/mips-linux/9.3.0/plugin/include/system.h:687:10: > > fatal error: gmp.h: No such file or directy > > 687 | #include > > | ^~~ > > compilation terminated. > > make[2]: *** [scripts/gcc-plugins/Makefile:47: > > scripts/gcc-plugins/latent_entropy_plugin.so] Error 1 > > make[2]: *** Waiting for unfinished jobs.. > > Do you have gmp-devel installed? Ah, I didn't, thanks. Then libmpc-devel is needed. Will continue.
Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()
On 01/20/21 at 11:47pm, kernel test robot wrote: > Hi Baoquan, > > I love your patch! Perhaps something to improve: > > [auto build test WARNING on linux/master] > [also build test WARNING on linus/master v5.11-rc4 next-20210120] > [cannot apply to mmotm/master hnaz-linux-mm/master ia64/next] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch] > > url: > https://github.com/0day-ci/linux/commits/Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > 1e2a199f6ccdc15cf111d68d212e2fd4ce65682e > config: mips-randconfig-r036-20210120 (attached as .config) > compiler: mips-linux-gcc (GCC) 9.3.0 > reproduce (this is a W=1 build): > wget > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O > ~/bin/make.cross > chmod +x ~/bin/make.cross > # > https://github.com/0day-ci/linux/commit/1bbb0b35dd2fae4a7a38098e63899677c2e53108 > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review > Baoquan-He/mm-clean-up-names-and-parameters-of-memmap_init_-functions/20210120-135239 > git checkout 1bbb0b35dd2fae4a7a38098e63899677c2e53108 > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross > ARCH=mips > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot > > All warnings (new ones prefixed by >>): > >mm/page_alloc.c:3597:15: warning: no previous prototype for > 'should_fail_alloc_page' [-Wmissing-prototypes] > 3597 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int > order) > | ^~ > >> mm/page_alloc.c:6258:23: warning: no previous prototype for > >> 'memmap_init_zone' [-Wmissing-prototypes] > 6258 | void __meminit __weak memmap_init_zone(unsigned long size, int nid, > | ^~~~ Have posted a patch to fix this warning as below. The patch is based on this patchset. https://lore.kernel.org/linux-mm/20210122070359.24010-1-...@redhat.com/ Thanks Baoquan
Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()
On 20.01.21 05:52, Baoquan He wrote: > The current memmap_init_zone() only handles memory region inside one zone, > actually memmap_init() does the memmap init of one zone. So rename both of > them accordingly. > > Signed-off-by: Baoquan He > --- > arch/ia64/include/asm/pgtable.h | 2 +- > arch/ia64/mm/init.c | 6 +++--- > include/linux/mm.h | 2 +- > mm/memory_hotplug.c | 2 +- > mm/page_alloc.c | 8 > 5 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/arch/ia64/include/asm/pgtable.h b/arch/ia64/include/asm/pgtable.h > index 779b6972aa84..dce2ff37df65 100644 > --- a/arch/ia64/include/asm/pgtable.h > +++ b/arch/ia64/include/asm/pgtable.h > @@ -520,7 +520,7 @@ extern struct page *zero_page_memmap_ptr; > > # ifdef CONFIG_VIRTUAL_MEM_MAP >/* arch mem_map init routine is needed due to holes in a virtual mem_map */ > -extern void memmap_init (unsigned long size, int nid, unsigned long zone, > +extern void memmap_init_zone(unsigned long size, int nid, unsigned long > zone, >unsigned long start_pfn); > # endif /* CONFIG_VIRTUAL_MEM_MAP */ > # endif /* !__ASSEMBLY__ */ > diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c > index e76386a3479e..c8e68e92beb3 100644 > --- a/arch/ia64/mm/init.c > +++ b/arch/ia64/mm/init.c > @@ -535,18 +535,18 @@ virtual_memmap_init(u64 start, u64 end, void *arg) > / sizeof(struct page)); > > if (map_start < map_end) > - memmap_init_zone((unsigned long)(map_end - map_start), > + memmap_init_range((unsigned long)(map_end - map_start), >args->nid, args->zone, page_to_pfn(map_start), > page_to_pfn(map_end), >MEMINIT_EARLY, NULL, MIGRATE_MOVABLE); > return 0; > } > > void __meminit > -memmap_init (unsigned long size, int nid, unsigned long zone, > +memmap_init_zone(unsigned long size, int nid, unsigned long zone, >unsigned long start_pfn) > { > if (!vmem_map) { > - memmap_init_zone(size, nid, zone, start_pfn, start_pfn + size, > + memmap_init_range(size, nid, zone, start_pfn, start_pfn + size, >MEMINIT_EARLY, NULL, MIGRATE_MOVABLE); > } else { > struct page *start; > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 3dac7bc667ee..56bb239f9150 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -2398,7 +2398,7 @@ extern int __meminit early_pfn_to_nid(unsigned long > pfn); > #endif > > extern void set_dma_reserve(unsigned long new_dma_reserve); > -extern void memmap_init_zone(unsigned long, int, unsigned long, > +extern void memmap_init_range(unsigned long, int, unsigned long, > unsigned long, unsigned long, enum meminit_context, > struct vmem_altmap *, int migratetype); > extern void setup_per_zone_wmarks(void); > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index f9d57b9be8c7..ddcb1cd24c60 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -713,7 +713,7 @@ void __ref move_pfn_range_to_zone(struct zone *zone, > unsigned long start_pfn, >* expects the zone spans the pfn range. All the pages in the range >* are reserved so nobody should be touching them so we should be safe >*/ > - memmap_init_zone(nr_pages, nid, zone_idx(zone), start_pfn, 0, > + memmap_init_range(nr_pages, nid, zone_idx(zone), start_pfn, 0, >MEMINIT_HOTPLUG, altmap, migratetype); > > set_zone_contiguous(zone); > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 44ec5594798d..42a1d2d2a87d 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -6117,7 +6117,7 @@ overlap_memmap_init(unsigned long zone, unsigned long > *pfn) > * (usually MIGRATE_MOVABLE). Besides setting the migratetype, no related > * zone stats (e.g., nr_isolate_pageblock) are touched. > */ > -void __meminit memmap_init_zone(unsigned long size, int nid, unsigned long > zone, > +void __meminit memmap_init_range(unsigned long size, int nid, unsigned long > zone, > unsigned long start_pfn, unsigned long zone_end_pfn, > enum meminit_context context, > struct vmem_altmap *altmap, int migratetype) > @@ -6254,7 +6254,7 @@ static void __meminit zone_init_free_lists(struct zone > *zone) > } > } > > -void __meminit __weak memmap_init(unsigned long size, int nid, > +void __meminit __weak memmap_init_zone(unsigned long size, int nid, > unsigned long zone, > unsigned long range_start_pfn) > { > @@ -6268,7 +6268,7 @@ void __meminit __weak memmap_init(unsigned long size, > int nid, > > if (end_pfn > start_pfn) { > size = end_pfn - start_pfn; > - memmap_init_zone(size, nid, zone, start_p