All of lore.kernel.org
 help / color / mirror / Atom feed
* [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
@ 2022-08-24  2:46 kernel test robot
  2022-08-24  3:49   ` Hyeonggon Yoo
  0 siblings, 1 reply; 11+ messages in thread
From: kernel test robot @ 2022-08-24  2:46 UTC (permalink / raw)
  To: Hyeonggon Yoo; +Cc: kbuild-all, linux-mm, Vlastimil Babka

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
head:   b261334803b44092acd06be3c9f32c46af818359
commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
        git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
        git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
        git checkout 79c7527b9805edf14c952deca45de60a8a06a414
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
    1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
         |       ^~~~~~~~~~~~~~~~~~~~


vim +/__kmalloc_large_node +1023 mm/slab_common.c

  1016	
  1017	/*
  1018	 * To avoid unnecessary overhead, we pass through large allocation requests
  1019	 * directly to the page allocator. We use __GFP_COMP, because we will need to
  1020	 * know the allocation order to free the pages properly in kfree.
  1021	 */
  1022	
> 1023	void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
  1024	{
  1025		struct page *page;
  1026		void *ptr = NULL;
  1027		unsigned int order = get_order(size);
  1028	
  1029		if (unlikely(flags & GFP_SLAB_BUG_MASK))
  1030			flags = kmalloc_fix_flags(flags);
  1031	
  1032		flags |= __GFP_COMP;
  1033		page = alloc_pages_node(node, flags, order);
  1034		if (page) {
  1035			ptr = page_address(page);
  1036			mod_lruvec_page_state(page, NR_SLAB_UNRECLAIMABLE_B,
  1037					      PAGE_SIZE << order);
  1038		}
  1039	
  1040		ptr = kasan_kmalloc_large(ptr, size, flags);
  1041		/* As ptr might get tagged, call kmemleak hook after KASAN. */
  1042		kmemleak_alloc(ptr, size, 1, flags);
  1043	
  1044		return ptr;
  1045	}
  1046	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
  2022-08-24  2:46 [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' kernel test robot
@ 2022-08-24  3:49   ` Hyeonggon Yoo
  0 siblings, 0 replies; 11+ messages in thread
From: Hyeonggon Yoo @ 2022-08-24  3:49 UTC (permalink / raw)
  To: kernel test robot; +Cc: kbuild-all, linux-mm, Vlastimil Babka

On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
> head:   b261334803b44092acd06be3c9f32c46af818359
> commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
> config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp@intel.com/config)
> compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
> reproduce (this is a W=1 build):
>         # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
>         git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
>         git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
>         git checkout 79c7527b9805edf14c952deca45de60a8a06a414
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
> 
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>):
> 
> >> mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
>     1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
>          |       ^~~~~~~~~~~~~~~~~~~~

Oh, I did not add static here.

Please pull:
	https://github.com/hygoni/linux.git slab-common-v4r1

Fixed warning above and also fixed wrong comment (@objp in comment but
its name is actually 'object')

git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
		slab-common-v4r1~17...slab-common-v4r1:

		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
 2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
 3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
 4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
 5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
 6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
 7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
 8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
    @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
      EXPORT_SYMBOL(kmalloc_large);

     -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
    -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
      {
      	struct page *page;
      	void *ptr = NULL;
 9:  cc40615623ed !  9:  3d1d49576f4a mm/slab_common: cleanup kmalloc_large()
    @@ mm/slab_common.c: gfp_t kmalloc_fix_flags(gfp_t flags)
     -}
     -EXPORT_SYMBOL(kmalloc_large);

    - void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    + static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
      {
    -@@ mm/slab_common.c: void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    +@@ mm/slab_common.c: static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
      	void *ptr = NULL;
      	unsigned int order = get_order(size);

    @@ mm/slab_common.c: void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int
      	flags |= __GFP_COMP;
      	page = alloc_pages_node(node, flags, order);
      	if (page) {
    -@@ mm/slab_common.c: void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    +@@ mm/slab_common.c: static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
      	return ptr;
      }

10:  e14d748cf9ad = 10:  d6d55b2e745a mm/slab: kmalloc: pass requests larger than order-1 page to page allocator
11:  84000279b448 = 11:  28c1aabc9f73 mm/sl[au]b: introduce common alloc/free functions without tracepoint
12:  79c7527b9805 ! 12:  7fefa4235ba9 mm/sl[au]b: generalize kmalloc subsystem
    @@ mm/slab_common.c: void free_large_kmalloc(struct folio *folio, void *object)
     +
     +/**
     + * kfree - free previously allocated memory
    -+ * @objp: pointer returned by kmalloc.
    ++ * @object: pointer returned by kmalloc.
     + *
    -+ * If @objp is NULL, no operation is performed.
    ++ * If @object is NULL, no operation is performed.
     + *
     + * Don't free memory not originally allocated by kmalloc()
     + * or you will run into trouble.
    @@ mm/slab_common.c: void free_large_kmalloc(struct folio *folio, void *object)
     +
     +/**
     + * __ksize -- Uninstrumented ksize.
    -+ * @objp: pointer to the object
    ++ * @object: pointer to the object
     + *
     + * Unlike ksize(), __ksize() is uninstrumented, and does not provide the same
     + * safety checks as ksize() with KASAN instrumentation enabled.
     + *
    -+ * Return: size of the actual memory used by @objp in bytes
    ++ * Return: size of the actual memory used by @object in bytes
     + */
     +size_t __ksize(const void *object)
     +{
    @@ mm/slab_common.c: gfp_t kmalloc_fix_flags(gfp_t flags)
       * know the allocation order to free the pages properly in kfree.
       */

    --void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    -+void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
    +-static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    ++static void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
      {
      	struct page *page;
      	void *ptr = NULL;
    -@@ mm/slab_common.c: void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    +@@ mm/slab_common.c: static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)

      void *kmalloc_large(size_t size, gfp_t flags)
      {
13:  31be83f97c43 = 13:  446064fdf403 mm/sl[au]b: cleanup kmem_cache_alloc[_node]_trace()
14:  583b9ef311da = 14:  c923544d6d61 mm/slab_common: unify NUMA and UMA version of tracepoints
15:  d0b3552d07e0 = 15:  72633319472e mm/slab_common: drop kmem_alloc & avoid dereferencing fields when not using
16:  0db36c104255 ! 16:  c9b5ded32cc6 mm/slab_common: move declaration of __ksize() to mm/slab.h
    @@ mm/slab_common.c: void kfree(const void *object)

     -/**
     - * __ksize -- Uninstrumented ksize.
    -- * @objp: pointer to the object
    +- * @object: pointer to the object
     - *
     - * Unlike ksize(), __ksize() is uninstrumented, and does not provide the same
     - * safety checks as ksize() with KASAN instrumentation enabled.
     - *
    -- * Return: size of the actual memory used by @objp in bytes
    +- * Return: size of the actual memory used by @object in bytes
     - */
     +/* Uninstrumented ksize. Only called by KASAN. */
      size_t __ksize(const void *object)
17:  b261334803b4 = 17:  0248c8a1af52 mm/sl[au]b: check if large object is valid in __ksize()


> vim +/__kmalloc_large_node +1023 mm/slab_common.c
> 
>   1016	
>   1017	/*
>   1018	 * To avoid unnecessary overhead, we pass through large allocation requests
>   1019	 * directly to the page allocator. We use __GFP_COMP, because we will need to
>   1020	 * know the allocation order to free the pages properly in kfree.
>   1021	 */
>   1022	
> > 1023	void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
>   1024	{
>   1025		struct page *page;
>   1026		void *ptr = NULL;
>   1027		unsigned int order = get_order(size);
>   1028	
>   1029		if (unlikely(flags & GFP_SLAB_BUG_MASK))
>   1030			flags = kmalloc_fix_flags(flags);
>   1031	
>   1032		flags |= __GFP_COMP;
>   1033		page = alloc_pages_node(node, flags, order);
>   1034		if (page) {
>   1035			ptr = page_address(page);
>   1036			mod_lruvec_page_state(page, NR_SLAB_UNRECLAIMABLE_B,
>   1037					      PAGE_SIZE << order);
>   1038		}
>   1039	
>   1040		ptr = kasan_kmalloc_large(ptr, size, flags);
>   1041		/* As ptr might get tagged, call kmemleak hook after KASAN. */
>   1042		kmemleak_alloc(ptr, size, 1, flags);
>   1043	
>   1044		return ptr;
>   1045	}
>   1046	
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp

-- 
Thanks,
Hyeonggon


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
@ 2022-08-24  3:49   ` Hyeonggon Yoo
  0 siblings, 0 replies; 11+ messages in thread
From: Hyeonggon Yoo @ 2022-08-24  3:49 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 8544 bytes --]

On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
> head:   b261334803b44092acd06be3c9f32c46af818359
> commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
> config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp(a)intel.com/config)
> compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
> reproduce (this is a W=1 build):
>         # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
>         git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
>         git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
>         git checkout 79c7527b9805edf14c952deca45de60a8a06a414
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
> 
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>):
> 
> >> mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
>     1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
>          |       ^~~~~~~~~~~~~~~~~~~~

Oh, I did not add static here.

Please pull:
	https://github.com/hygoni/linux.git slab-common-v4r1

Fixed warning above and also fixed wrong comment (@objp in comment but
its name is actually 'object')

git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
		slab-common-v4r1~17...slab-common-v4r1:

		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
 2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
 3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
 4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
 5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
 6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
 7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
 8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
    @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
      EXPORT_SYMBOL(kmalloc_large);

     -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
    -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
      {
      	struct page *page;
      	void *ptr = NULL;
 9:  cc40615623ed !  9:  3d1d49576f4a mm/slab_common: cleanup kmalloc_large()
    @@ mm/slab_common.c: gfp_t kmalloc_fix_flags(gfp_t flags)
     -}
     -EXPORT_SYMBOL(kmalloc_large);

    - void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    + static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
      {
    -@@ mm/slab_common.c: void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    +@@ mm/slab_common.c: static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
      	void *ptr = NULL;
      	unsigned int order = get_order(size);

    @@ mm/slab_common.c: void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int
      	flags |= __GFP_COMP;
      	page = alloc_pages_node(node, flags, order);
      	if (page) {
    -@@ mm/slab_common.c: void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    +@@ mm/slab_common.c: static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
      	return ptr;
      }

10:  e14d748cf9ad = 10:  d6d55b2e745a mm/slab: kmalloc: pass requests larger than order-1 page to page allocator
11:  84000279b448 = 11:  28c1aabc9f73 mm/sl[au]b: introduce common alloc/free functions without tracepoint
12:  79c7527b9805 ! 12:  7fefa4235ba9 mm/sl[au]b: generalize kmalloc subsystem
    @@ mm/slab_common.c: void free_large_kmalloc(struct folio *folio, void *object)
     +
     +/**
     + * kfree - free previously allocated memory
    -+ * @objp: pointer returned by kmalloc.
    ++ * @object: pointer returned by kmalloc.
     + *
    -+ * If @objp is NULL, no operation is performed.
    ++ * If @object is NULL, no operation is performed.
     + *
     + * Don't free memory not originally allocated by kmalloc()
     + * or you will run into trouble.
    @@ mm/slab_common.c: void free_large_kmalloc(struct folio *folio, void *object)
     +
     +/**
     + * __ksize -- Uninstrumented ksize.
    -+ * @objp: pointer to the object
    ++ * @object: pointer to the object
     + *
     + * Unlike ksize(), __ksize() is uninstrumented, and does not provide the same
     + * safety checks as ksize() with KASAN instrumentation enabled.
     + *
    -+ * Return: size of the actual memory used by @objp in bytes
    ++ * Return: size of the actual memory used by @object in bytes
     + */
     +size_t __ksize(const void *object)
     +{
    @@ mm/slab_common.c: gfp_t kmalloc_fix_flags(gfp_t flags)
       * know the allocation order to free the pages properly in kfree.
       */

    --void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    -+void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
    +-static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    ++static void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
      {
      	struct page *page;
      	void *ptr = NULL;
    -@@ mm/slab_common.c: void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
    +@@ mm/slab_common.c: static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)

      void *kmalloc_large(size_t size, gfp_t flags)
      {
13:  31be83f97c43 = 13:  446064fdf403 mm/sl[au]b: cleanup kmem_cache_alloc[_node]_trace()
14:  583b9ef311da = 14:  c923544d6d61 mm/slab_common: unify NUMA and UMA version of tracepoints
15:  d0b3552d07e0 = 15:  72633319472e mm/slab_common: drop kmem_alloc & avoid dereferencing fields when not using
16:  0db36c104255 ! 16:  c9b5ded32cc6 mm/slab_common: move declaration of __ksize() to mm/slab.h
    @@ mm/slab_common.c: void kfree(const void *object)

     -/**
     - * __ksize -- Uninstrumented ksize.
    -- * @objp: pointer to the object
    +- * @object: pointer to the object
     - *
     - * Unlike ksize(), __ksize() is uninstrumented, and does not provide the same
     - * safety checks as ksize() with KASAN instrumentation enabled.
     - *
    -- * Return: size of the actual memory used by @objp in bytes
    +- * Return: size of the actual memory used by @object in bytes
     - */
     +/* Uninstrumented ksize. Only called by KASAN. */
      size_t __ksize(const void *object)
17:  b261334803b4 = 17:  0248c8a1af52 mm/sl[au]b: check if large object is valid in __ksize()


> vim +/__kmalloc_large_node +1023 mm/slab_common.c
> 
>   1016	
>   1017	/*
>   1018	 * To avoid unnecessary overhead, we pass through large allocation requests
>   1019	 * directly to the page allocator. We use __GFP_COMP, because we will need to
>   1020	 * know the allocation order to free the pages properly in kfree.
>   1021	 */
>   1022	
> > 1023	void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
>   1024	{
>   1025		struct page *page;
>   1026		void *ptr = NULL;
>   1027		unsigned int order = get_order(size);
>   1028	
>   1029		if (unlikely(flags & GFP_SLAB_BUG_MASK))
>   1030			flags = kmalloc_fix_flags(flags);
>   1031	
>   1032		flags |= __GFP_COMP;
>   1033		page = alloc_pages_node(node, flags, order);
>   1034		if (page) {
>   1035			ptr = page_address(page);
>   1036			mod_lruvec_page_state(page, NR_SLAB_UNRECLAIMABLE_B,
>   1037					      PAGE_SIZE << order);
>   1038		}
>   1039	
>   1040		ptr = kasan_kmalloc_large(ptr, size, flags);
>   1041		/* As ptr might get tagged, call kmemleak hook after KASAN. */
>   1042		kmemleak_alloc(ptr, size, 1, flags);
>   1043	
>   1044		return ptr;
>   1045	}
>   1046	
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp

-- 
Thanks,
Hyeonggon

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
  2022-08-24  3:49   ` Hyeonggon Yoo
@ 2022-08-24 12:57     ` Vlastimil Babka
  -1 siblings, 0 replies; 11+ messages in thread
From: Vlastimil Babka @ 2022-08-24 12:57 UTC (permalink / raw)
  To: Hyeonggon Yoo, kernel test robot; +Cc: kbuild-all, linux-mm

On 8/24/22 05:49, Hyeonggon Yoo wrote:
> On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
>> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
>> head:   b261334803b44092acd06be3c9f32c46af818359
>> commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
>> config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp@intel.com/config)
>> compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
>> reproduce (this is a W=1 build):
>>          # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
>>          git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
>>          git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
>>          git checkout 79c7527b9805edf14c952deca45de60a8a06a414
>>          # save the config file
>>          mkdir build_dir && cp config build_dir/.config
>>          make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
>>
>> If you fix the issue, kindly add following tag where applicable
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>> All warnings (new ones prefixed by >>):
>>
>>>> mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
>>      1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
>>           |       ^~~~~~~~~~~~~~~~~~~~
> 
> Oh, I did not add static here.

Weird, I didn't get this warning even with W=1. Only the kerneldoc issues.

> Please pull:
> 	https://github.com/hygoni/linux.git slab-common-v4r1
> 
> Fixed warning above and also fixed wrong comment (@objp in comment but
> its name is actually 'object')
> 
> git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
> 		slab-common-v4r1~17...slab-common-v4r1:
> 
> 		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
>   2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
>   3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
>   4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
>   5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
>   6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
>   7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
>   8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
>      @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
>        EXPORT_SYMBOL(kmalloc_large);
> 
>       -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
>      -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
>      ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)

Hmm this (and following changes to kmalloc_large_node_notrace) seems to 
be wrong, it's still called from slub.c and declared in slab.h at this 
point.

So I've fixed the warnings up locally and force-pushed updated 
for-6.1/common_kmalloc (head is now ba5801e322), please double-check.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
@ 2022-08-24 12:57     ` Vlastimil Babka
  0 siblings, 0 replies; 11+ messages in thread
From: Vlastimil Babka @ 2022-08-24 12:57 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 3374 bytes --]

On 8/24/22 05:49, Hyeonggon Yoo wrote:
> On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
>> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
>> head:   b261334803b44092acd06be3c9f32c46af818359
>> commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
>> config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp(a)intel.com/config)
>> compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
>> reproduce (this is a W=1 build):
>>          # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
>>          git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
>>          git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
>>          git checkout 79c7527b9805edf14c952deca45de60a8a06a414
>>          # save the config file
>>          mkdir build_dir && cp config build_dir/.config
>>          make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
>>
>> If you fix the issue, kindly add following tag where applicable
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>> All warnings (new ones prefixed by >>):
>>
>>>> mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
>>      1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
>>           |       ^~~~~~~~~~~~~~~~~~~~
> 
> Oh, I did not add static here.

Weird, I didn't get this warning even with W=1. Only the kerneldoc issues.

> Please pull:
> 	https://github.com/hygoni/linux.git slab-common-v4r1
> 
> Fixed warning above and also fixed wrong comment (@objp in comment but
> its name is actually 'object')
> 
> git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
> 		slab-common-v4r1~17...slab-common-v4r1:
> 
> 		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
>   2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
>   3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
>   4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
>   5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
>   6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
>   7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
>   8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
>      @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
>        EXPORT_SYMBOL(kmalloc_large);
> 
>       -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
>      -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
>      ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)

Hmm this (and following changes to kmalloc_large_node_notrace) seems to 
be wrong, it's still called from slub.c and declared in slab.h at this 
point.

So I've fixed the warnings up locally and force-pushed updated 
for-6.1/common_kmalloc (head is now ba5801e322), please double-check.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
  2022-08-24 12:57     ` Vlastimil Babka
@ 2022-08-24 13:35       ` Hyeonggon Yoo
  -1 siblings, 0 replies; 11+ messages in thread
From: Hyeonggon Yoo @ 2022-08-24 13:35 UTC (permalink / raw)
  To: Vlastimil Babka; +Cc: kernel test robot, kbuild-all, linux-mm

On Wed, Aug 24, 2022 at 02:57:40PM +0200, Vlastimil Babka wrote:
> On 8/24/22 05:49, Hyeonggon Yoo wrote:
> > On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
> > > tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
> > > head:   b261334803b44092acd06be3c9f32c46af818359
> > > commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
> > > config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp@intel.com/config)
> > > compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
> > > reproduce (this is a W=1 build):
> > >          # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
> > >          git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
> > >          git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
> > >          git checkout 79c7527b9805edf14c952deca45de60a8a06a414
> > >          # save the config file
> > >          mkdir build_dir && cp config build_dir/.config
> > >          make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
> > > 
> > > If you fix the issue, kindly add following tag where applicable
> > > Reported-by: kernel test robot <lkp@intel.com>
> > > 
> > > All warnings (new ones prefixed by >>):
> > > 
> > > > > mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
> > >      1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
> > >           |       ^~~~~~~~~~~~~~~~~~~~
> > 
> > Oh, I did not add static here.
> 
> Weird, I didn't get this warning even with W=1. Only the kerneldoc issues.

You can get with CONFIG_SLOB.

> > Please pull:
> > 	https://github.com/hygoni/linux.git slab-common-v4r1
> > 
> > Fixed warning above and also fixed wrong comment (@objp in comment but
> > its name is actually 'object')
> > 
> > git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
> > 		slab-common-v4r1~17...slab-common-v4r1:
> > 
> > 		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
> >   2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
> >   3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
> >   4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
> >   5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
> >   6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
> >   7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
> >   8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
> >      @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
> >        EXPORT_SYMBOL(kmalloc_large);
> > 
> >       -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
> >      -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> >      ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> 
> Hmm this (and following changes to kmalloc_large_node_notrace) seems to be
> wrong, it's still called from slub.c and declared in slab.h at this point.

Ah, I'm very sorry for wrong fix.

> So I've fixed the warnings up locally and force-pushed updated
> for-6.1/common_kmalloc (head is now ba5801e322), please double-check.

kmalloc_large_node_notrace() need to be moved outside #ifdef CONFIG_SLOB
when the declaration is in slab.h as it's used for SLOB too.
(in patch 8)

-- 
Thanks,
Hyeonggon


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
@ 2022-08-24 13:35       ` Hyeonggon Yoo
  0 siblings, 0 replies; 11+ messages in thread
From: Hyeonggon Yoo @ 2022-08-24 13:35 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 3824 bytes --]

On Wed, Aug 24, 2022 at 02:57:40PM +0200, Vlastimil Babka wrote:
> On 8/24/22 05:49, Hyeonggon Yoo wrote:
> > On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
> > > tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
> > > head:   b261334803b44092acd06be3c9f32c46af818359
> > > commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
> > > config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp(a)intel.com/config)
> > > compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
> > > reproduce (this is a W=1 build):
> > >          # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
> > >          git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
> > >          git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
> > >          git checkout 79c7527b9805edf14c952deca45de60a8a06a414
> > >          # save the config file
> > >          mkdir build_dir && cp config build_dir/.config
> > >          make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
> > > 
> > > If you fix the issue, kindly add following tag where applicable
> > > Reported-by: kernel test robot <lkp@intel.com>
> > > 
> > > All warnings (new ones prefixed by >>):
> > > 
> > > > > mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
> > >      1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
> > >           |       ^~~~~~~~~~~~~~~~~~~~
> > 
> > Oh, I did not add static here.
> 
> Weird, I didn't get this warning even with W=1. Only the kerneldoc issues.

You can get with CONFIG_SLOB.

> > Please pull:
> > 	https://github.com/hygoni/linux.git slab-common-v4r1
> > 
> > Fixed warning above and also fixed wrong comment (@objp in comment but
> > its name is actually 'object')
> > 
> > git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
> > 		slab-common-v4r1~17...slab-common-v4r1:
> > 
> > 		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
> >   2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
> >   3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
> >   4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
> >   5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
> >   6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
> >   7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
> >   8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
> >      @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
> >        EXPORT_SYMBOL(kmalloc_large);
> > 
> >       -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
> >      -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> >      ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> 
> Hmm this (and following changes to kmalloc_large_node_notrace) seems to be
> wrong, it's still called from slub.c and declared in slab.h at this point.

Ah, I'm very sorry for wrong fix.

> So I've fixed the warnings up locally and force-pushed updated
> for-6.1/common_kmalloc (head is now ba5801e322), please double-check.

kmalloc_large_node_notrace() need to be moved outside #ifdef CONFIG_SLOB
when the declaration is in slab.h as it's used for SLOB too.
(in patch 8)

-- 
Thanks,
Hyeonggon

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
  2022-08-24 13:35       ` Hyeonggon Yoo
@ 2022-08-24 14:27         ` Vlastimil Babka
  -1 siblings, 0 replies; 11+ messages in thread
From: Vlastimil Babka @ 2022-08-24 14:27 UTC (permalink / raw)
  To: Hyeonggon Yoo; +Cc: kernel test robot, kbuild-all, linux-mm

On 8/24/22 15:35, Hyeonggon Yoo wrote:
> On Wed, Aug 24, 2022 at 02:57:40PM +0200, Vlastimil Babka wrote:
>> On 8/24/22 05:49, Hyeonggon Yoo wrote:
>>> On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
>>>> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
>>>> head:   b261334803b44092acd06be3c9f32c46af818359
>>>> commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
>>>> config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp@intel.com/config)
>>>> compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
>>>> reproduce (this is a W=1 build):
>>>>           # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
>>>>           git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
>>>>           git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
>>>>           git checkout 79c7527b9805edf14c952deca45de60a8a06a414
>>>>           # save the config file
>>>>           mkdir build_dir && cp config build_dir/.config
>>>>           make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
>>>>
>>>> If you fix the issue, kindly add following tag where applicable
>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>>
>>>> All warnings (new ones prefixed by >>):
>>>>
>>>>>> mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
>>>>       1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
>>>>            |       ^~~~~~~~~~~~~~~~~~~~
>>>
>>> Oh, I did not add static here.
>>
>> Weird, I didn't get this warning even with W=1. Only the kerneldoc issues.
> 
> You can get with CONFIG_SLOB.
> 
>>> Please pull:
>>> 	https://github.com/hygoni/linux.git slab-common-v4r1
>>>
>>> Fixed warning above and also fixed wrong comment (@objp in comment but
>>> its name is actually 'object')
>>>
>>> git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
>>> 		slab-common-v4r1~17...slab-common-v4r1:
>>>
>>> 		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
>>>    2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
>>>    3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
>>>    4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
>>>    5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
>>>    6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
>>>    7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
>>>    8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
>>>       @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
>>>         EXPORT_SYMBOL(kmalloc_large);
>>>
>>>        -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
>>>       -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
>>>       ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
>>
>> Hmm this (and following changes to kmalloc_large_node_notrace) seems to be
>> wrong, it's still called from slub.c and declared in slab.h at this point.
> 
> Ah, I'm very sorry for wrong fix.
> 
>> So I've fixed the warnings up locally and force-pushed updated
>> for-6.1/common_kmalloc (head is now ba5801e322), please double-check.
> 
> kmalloc_large_node_notrace() need to be moved outside #ifdef CONFIG_SLOB
> when the declaration is in slab.h as it's used for SLOB too.
> (in patch 8)

Thanks, done now.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
@ 2022-08-24 14:27         ` Vlastimil Babka
  0 siblings, 0 replies; 11+ messages in thread
From: Vlastimil Babka @ 2022-08-24 14:27 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 3877 bytes --]

On 8/24/22 15:35, Hyeonggon Yoo wrote:
> On Wed, Aug 24, 2022 at 02:57:40PM +0200, Vlastimil Babka wrote:
>> On 8/24/22 05:49, Hyeonggon Yoo wrote:
>>> On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
>>>> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
>>>> head:   b261334803b44092acd06be3c9f32c46af818359
>>>> commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
>>>> config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp(a)intel.com/config)
>>>> compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
>>>> reproduce (this is a W=1 build):
>>>>           # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
>>>>           git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
>>>>           git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
>>>>           git checkout 79c7527b9805edf14c952deca45de60a8a06a414
>>>>           # save the config file
>>>>           mkdir build_dir && cp config build_dir/.config
>>>>           make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
>>>>
>>>> If you fix the issue, kindly add following tag where applicable
>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>>
>>>> All warnings (new ones prefixed by >>):
>>>>
>>>>>> mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
>>>>       1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
>>>>            |       ^~~~~~~~~~~~~~~~~~~~
>>>
>>> Oh, I did not add static here.
>>
>> Weird, I didn't get this warning even with W=1. Only the kerneldoc issues.
> 
> You can get with CONFIG_SLOB.
> 
>>> Please pull:
>>> 	https://github.com/hygoni/linux.git slab-common-v4r1
>>>
>>> Fixed warning above and also fixed wrong comment (@objp in comment but
>>> its name is actually 'object')
>>>
>>> git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
>>> 		slab-common-v4r1~17...slab-common-v4r1:
>>>
>>> 		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
>>>    2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
>>>    3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
>>>    4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
>>>    5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
>>>    6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
>>>    7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
>>>    8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
>>>       @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
>>>         EXPORT_SYMBOL(kmalloc_large);
>>>
>>>        -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
>>>       -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
>>>       ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
>>
>> Hmm this (and following changes to kmalloc_large_node_notrace) seems to be
>> wrong, it's still called from slub.c and declared in slab.h at this point.
> 
> Ah, I'm very sorry for wrong fix.
> 
>> So I've fixed the warnings up locally and force-pushed updated
>> for-6.1/common_kmalloc (head is now ba5801e322), please double-check.
> 
> kmalloc_large_node_notrace() need to be moved outside #ifdef CONFIG_SLOB
> when the declaration is in slab.h as it's used for SLOB too.
> (in patch 8)

Thanks, done now.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
  2022-08-24 14:27         ` Vlastimil Babka
@ 2022-08-25  5:06           ` Hyeonggon Yoo
  -1 siblings, 0 replies; 11+ messages in thread
From: Hyeonggon Yoo @ 2022-08-25  5:06 UTC (permalink / raw)
  To: Vlastimil Babka; +Cc: kernel test robot, kbuild-all, linux-mm

On Wed, Aug 24, 2022 at 04:27:10PM +0200, Vlastimil Babka wrote:
> On 8/24/22 15:35, Hyeonggon Yoo wrote:
> > On Wed, Aug 24, 2022 at 02:57:40PM +0200, Vlastimil Babka wrote:
> > > On 8/24/22 05:49, Hyeonggon Yoo wrote:
> > > > On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
> > > > > tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
> > > > > head:   b261334803b44092acd06be3c9f32c46af818359
> > > > > commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
> > > > > config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp@intel.com/config)
> > > > > compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
> > > > > reproduce (this is a W=1 build):
> > > > >           # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
> > > > >           git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
> > > > >           git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
> > > > >           git checkout 79c7527b9805edf14c952deca45de60a8a06a414
> > > > >           # save the config file
> > > > >           mkdir build_dir && cp config build_dir/.config
> > > > >           make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
> > > > > 
> > > > > If you fix the issue, kindly add following tag where applicable
> > > > > Reported-by: kernel test robot <lkp@intel.com>
> > > > > 
> > > > > All warnings (new ones prefixed by >>):
> > > > > 
> > > > > > > mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
> > > > >       1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
> > > > >            |       ^~~~~~~~~~~~~~~~~~~~
> > > > 
> > > > Oh, I did not add static here.
> > > 
> > > Weird, I didn't get this warning even with W=1. Only the kerneldoc issues.
> > 
> > You can get with CONFIG_SLOB.
> > 
> > > > Please pull:
> > > > 	https://github.com/hygoni/linux.git slab-common-v4r1
> > > > 
> > > > Fixed warning above and also fixed wrong comment (@objp in comment but
> > > > its name is actually 'object')
> > > > 
> > > > git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
> > > > 		slab-common-v4r1~17...slab-common-v4r1:
> > > > 
> > > > 		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
> > > >    2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
> > > >    3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
> > > >    4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
> > > >    5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
> > > >    6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
> > > >    7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
> > > >    8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
> > > >       @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
> > > >         EXPORT_SYMBOL(kmalloc_large);
> > > > 
> > > >        -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
> > > >       -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> > > >       ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> > > 
> > > Hmm this (and following changes to kmalloc_large_node_notrace) seems to be
> > > wrong, it's still called from slub.c and declared in slab.h at this point.
> > 
> > Ah, I'm very sorry for wrong fix.
> > 
> > > So I've fixed the warnings up locally and force-pushed updated
> > > for-6.1/common_kmalloc (head is now ba5801e322), please double-check.
> > 
> > kmalloc_large_node_notrace() need to be moved outside #ifdef CONFIG_SLOB
> > when the declaration is in slab.h as it's used for SLOB too.
> > (in patch 8)
> 
> Thanks, done now.
>

Thanks! Looks good to me.

-- 
Thanks,
Hyeonggon


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'
@ 2022-08-25  5:06           ` Hyeonggon Yoo
  0 siblings, 0 replies; 11+ messages in thread
From: Hyeonggon Yoo @ 2022-08-25  5:06 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 4278 bytes --]

On Wed, Aug 24, 2022 at 04:27:10PM +0200, Vlastimil Babka wrote:
> On 8/24/22 15:35, Hyeonggon Yoo wrote:
> > On Wed, Aug 24, 2022 at 02:57:40PM +0200, Vlastimil Babka wrote:
> > > On 8/24/22 05:49, Hyeonggon Yoo wrote:
> > > > On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
> > > > > tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
> > > > > head:   b261334803b44092acd06be3c9f32c46af818359
> > > > > commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
> > > > > config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp(a)intel.com/config)
> > > > > compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
> > > > > reproduce (this is a W=1 build):
> > > > >           # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
> > > > >           git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
> > > > >           git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
> > > > >           git checkout 79c7527b9805edf14c952deca45de60a8a06a414
> > > > >           # save the config file
> > > > >           mkdir build_dir && cp config build_dir/.config
> > > > >           make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
> > > > > 
> > > > > If you fix the issue, kindly add following tag where applicable
> > > > > Reported-by: kernel test robot <lkp@intel.com>
> > > > > 
> > > > > All warnings (new ones prefixed by >>):
> > > > > 
> > > > > > > mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
> > > > >       1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
> > > > >            |       ^~~~~~~~~~~~~~~~~~~~
> > > > 
> > > > Oh, I did not add static here.
> > > 
> > > Weird, I didn't get this warning even with W=1. Only the kerneldoc issues.
> > 
> > You can get with CONFIG_SLOB.
> > 
> > > > Please pull:
> > > > 	https://github.com/hygoni/linux.git slab-common-v4r1
> > > > 
> > > > Fixed warning above and also fixed wrong comment (@objp in comment but
> > > > its name is actually 'object')
> > > > 
> > > > git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
> > > > 		slab-common-v4r1~17...slab-common-v4r1:
> > > > 
> > > > 		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
> > > >    2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
> > > >    3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
> > > >    4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
> > > >    5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
> > > >    6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
> > > >    7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
> > > >    8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
> > > >       @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
> > > >         EXPORT_SYMBOL(kmalloc_large);
> > > > 
> > > >        -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
> > > >       -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> > > >       ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> > > 
> > > Hmm this (and following changes to kmalloc_large_node_notrace) seems to be
> > > wrong, it's still called from slub.c and declared in slab.h at this point.
> > 
> > Ah, I'm very sorry for wrong fix.
> > 
> > > So I've fixed the warnings up locally and force-pushed updated
> > > for-6.1/common_kmalloc (head is now ba5801e322), please double-check.
> > 
> > kmalloc_large_node_notrace() need to be moved outside #ifdef CONFIG_SLOB
> > when the declaration is in slab.h as it's used for SLOB too.
> > (in patch 8)
> 
> Thanks, done now.
>

Thanks! Looks good to me.

-- 
Thanks,
Hyeonggon

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-08-25  5:06 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-24  2:46 [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' kernel test robot
2022-08-24  3:49 ` Hyeonggon Yoo
2022-08-24  3:49   ` Hyeonggon Yoo
2022-08-24 12:57   ` Vlastimil Babka
2022-08-24 12:57     ` Vlastimil Babka
2022-08-24 13:35     ` Hyeonggon Yoo
2022-08-24 13:35       ` Hyeonggon Yoo
2022-08-24 14:27       ` Vlastimil Babka
2022-08-24 14:27         ` Vlastimil Babka
2022-08-25  5:06         ` Hyeonggon Yoo
2022-08-25  5:06           ` Hyeonggon Yoo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.