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@xxxxxxxxx/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@xxxxxxxxx>
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.