tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: eb6a9339efeb6f3d2b5c86fdf2382cdc293eca2c commit: 24e44cc22aa3112082f2ee23137d048c73ca96d5 mm: percpu: enable per-cpu allocation tagging date: 4 weeks ago config: mips-randconfig-r133-20240520 (https://download.01.org/0day-ci/archive/20240521/202405210052.DIrMXJNz-lkp@xxxxxxxxx/config) compiler: mips-linux-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20240521/202405210052.DIrMXJNz-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202405210052.DIrMXJNz-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from include/linux/compiler_types.h:151, from <command-line>: include/linux/alloc_tag.h: In function '__alloc_tag_ref_set': >> include/asm-generic/percpu.h:31:40: error: implicit declaration of function 'raw_smp_processor_id' [-Werror=implicit-function-declaration] 31 | #define __my_cpu_offset per_cpu_offset(raw_smp_processor_id()) | ^~~~~~~~~~~~~~~~~~~~ include/linux/compiler-gcc.h:35:33: note: in definition of macro 'RELOC_HIDE' 35 | (typeof(ptr)) (__ptr + (off)); \ | ^~~ include/asm-generic/percpu.h:44:31: note: in expansion of macro 'SHIFT_PERCPU_PTR' 44 | #define arch_raw_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, __my_cpu_offset) | ^~~~~~~~~~~~~~~~ include/asm-generic/percpu.h:31:25: note: in expansion of macro 'per_cpu_offset' 31 | #define __my_cpu_offset per_cpu_offset(raw_smp_processor_id()) | ^~~~~~~~~~~~~~ include/asm-generic/percpu.h:44:53: note: in expansion of macro '__my_cpu_offset' 44 | #define arch_raw_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, __my_cpu_offset) | ^~~~~~~~~~~~~~~ include/linux/percpu-defs.h:242:9: note: in expansion of macro 'arch_raw_cpu_ptr' 242 | arch_raw_cpu_ptr(ptr); \ | ^~~~~~~~~~~~~~~~ include/asm-generic/percpu.h:72:10: note: in expansion of macro 'raw_cpu_ptr' 72 | *raw_cpu_ptr(&(pcp)) op val; \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:156:9: note: in expansion of macro 'raw_cpu_generic_to_op' 156 | raw_cpu_generic_to_op(pcp, val, op); \ | ^~~~~~~~~~~~~~~~~~~~~ include/asm-generic/percpu.h:401:41: note: in expansion of macro 'this_cpu_generic_to_op' 401 | #define this_cpu_add_1(pcp, val) this_cpu_generic_to_op(pcp, val, +=) | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:365:25: note: in expansion of macro 'this_cpu_add_1' 365 | case 1: stem##1(variable, __VA_ARGS__);break; \ | ^~~~ include/linux/percpu-defs.h:491:41: note: in expansion of macro '__pcpu_size_call' 491 | #define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val) | ^~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:501:41: note: in expansion of macro 'this_cpu_add' 501 | #define this_cpu_inc(pcp) this_cpu_add(pcp, 1) | ^~~~~~~~~~~~ include/linux/alloc_tag.h:117:9: note: in expansion of macro 'this_cpu_inc' 117 | this_cpu_inc(tag->counters->calls); | ^~~~~~~~~~~~ In file included from include/linux/smp.h:119, from include/linux/percpu.h:8, from include/linux/context_tracking_state.h:5, from include/linux/hardirq.h:5, from include/linux/interrupt.h:11, from include/drm/drm_util.h:35, from drivers/gpu/drm/xe/xe_device.h:12, from drivers/gpu/drm/xe/xe_bb.c:10: arch/mips/include/asm/smp.h: At top level: >> arch/mips/include/asm/smp.h:26:19: error: static declaration of 'raw_smp_processor_id' follows non-static declaration 26 | static inline int raw_smp_processor_id(void) | ^~~~~~~~~~~~~~~~~~~~ include/asm-generic/percpu.h:31:40: note: previous implicit declaration of 'raw_smp_processor_id' with type 'int()' 31 | #define __my_cpu_offset per_cpu_offset(raw_smp_processor_id()) | ^~~~~~~~~~~~~~~~~~~~ include/linux/compiler-gcc.h:35:33: note: in definition of macro 'RELOC_HIDE' 35 | (typeof(ptr)) (__ptr + (off)); \ | ^~~ include/asm-generic/percpu.h:44:31: note: in expansion of macro 'SHIFT_PERCPU_PTR' 44 | #define arch_raw_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, __my_cpu_offset) | ^~~~~~~~~~~~~~~~ include/asm-generic/percpu.h:31:25: note: in expansion of macro 'per_cpu_offset' 31 | #define __my_cpu_offset per_cpu_offset(raw_smp_processor_id()) | ^~~~~~~~~~~~~~ include/asm-generic/percpu.h:44:53: note: in expansion of macro '__my_cpu_offset' 44 | #define arch_raw_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, __my_cpu_offset) | ^~~~~~~~~~~~~~~ include/linux/percpu-defs.h:242:9: note: in expansion of macro 'arch_raw_cpu_ptr' 242 | arch_raw_cpu_ptr(ptr); \ | ^~~~~~~~~~~~~~~~ include/asm-generic/percpu.h:72:10: note: in expansion of macro 'raw_cpu_ptr' 72 | *raw_cpu_ptr(&(pcp)) op val; \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:156:9: note: in expansion of macro 'raw_cpu_generic_to_op' 156 | raw_cpu_generic_to_op(pcp, val, op); \ | ^~~~~~~~~~~~~~~~~~~~~ include/asm-generic/percpu.h:401:41: note: in expansion of macro 'this_cpu_generic_to_op' 401 | #define this_cpu_add_1(pcp, val) this_cpu_generic_to_op(pcp, val, +=) | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:365:25: note: in expansion of macro 'this_cpu_add_1' 365 | case 1: stem##1(variable, __VA_ARGS__);break; \ | ^~~~ include/linux/percpu-defs.h:491:41: note: in expansion of macro '__pcpu_size_call' 491 | #define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val) | ^~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:501:41: note: in expansion of macro 'this_cpu_add' 501 | #define this_cpu_inc(pcp) this_cpu_add(pcp, 1) | ^~~~~~~~~~~~ include/linux/alloc_tag.h:117:9: note: in expansion of macro 'this_cpu_inc' 117 | this_cpu_inc(tag->counters->calls); | ^~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/raw_smp_processor_id +31 include/asm-generic/percpu.h acdac87202a408 travis@xxxxxxx 2008-01-30 23 acdac87202a408 travis@xxxxxxx 2008-01-30 24 /* acdac87202a408 travis@xxxxxxx 2008-01-30 25 * Determine the offset for the currently active processor. acdac87202a408 travis@xxxxxxx 2008-01-30 26 * An arch may define __my_cpu_offset to provide a more effective acdac87202a408 travis@xxxxxxx 2008-01-30 27 * means of obtaining the offset to the per cpu variables of the acdac87202a408 travis@xxxxxxx 2008-01-30 28 * current processor. acdac87202a408 travis@xxxxxxx 2008-01-30 29 */ acdac87202a408 travis@xxxxxxx 2008-01-30 30 #ifndef __my_cpu_offset acdac87202a408 travis@xxxxxxx 2008-01-30 @31 #define __my_cpu_offset per_cpu_offset(raw_smp_processor_id()) 1e8352784abaed Hugh Dickins 2008-02-23 32 #endif 1e8352784abaed Hugh Dickins 2008-02-23 33 #ifdef CONFIG_DEBUG_PREEMPT acdac87202a408 travis@xxxxxxx 2008-01-30 34 #define my_cpu_offset per_cpu_offset(smp_processor_id()) acdac87202a408 travis@xxxxxxx 2008-01-30 35 #else acdac87202a408 travis@xxxxxxx 2008-01-30 36 #define my_cpu_offset __my_cpu_offset acdac87202a408 travis@xxxxxxx 2008-01-30 37 #endif acdac87202a408 travis@xxxxxxx 2008-01-30 38 :::::: The code at line 31 was first introduced by commit :::::: acdac87202a408133ee8f7985076de9d2e0dc5ab percpu: make the asm-generic/percpu.h more "generic" :::::: TO: travis@xxxxxxx <travis@xxxxxxx> :::::: CC: Ingo Molnar <mingo@xxxxxxx> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki