Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()

2021-01-22 Thread David Hildenbrand
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, 

Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()

2021-01-21 Thread Baoquan He
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()

2021-01-21 Thread Baoquan He
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()

2021-01-21 Thread Baoquan He
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, _pfn, _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
> 

Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()

2021-01-21 Thread Mike Rapoport
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, _pfn, _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,
> > 

Re: [PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()

2021-01-20 Thread kernel test robot
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, _pfn, _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


[PATCH v4 1/4] mm: rename memmap_init() and memmap_init_zone()

2021-01-19 Thread Baoquan He
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_pfn, 
range_end_pfn,
+   memmap_init_range(size, nid, zone, start_pfn, 
range_end_pfn,
 MEMINIT_EARLY, NULL, MIGRATE_MOVABLE);