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, Hyeonggon