Hi Zqiang, Thank you for the patch! Yet something to improve: [auto build test ERROR on paulmck-rcu/dev] [also build test ERROR on v5.18-rc4 next-20220422] [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/intel-lab-lkp/linux/commits/Zqiang/rcu-Add-nocb_cb_kthread-check-to-rcu_is_callbacks_kthread/20220425-162445 base: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev config: arc-randconfig-r015-20220425 (https://download.01.org/0day-ci/archive/20220426/202204260032.l8IuJNr9-lkp@xxxxxxxxx/config) compiler: arceb-elf-gcc (GCC) 11.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/intel-lab-lkp/linux/commit/c909d116f928cbb9de2daf60a572f3f8a81cc4f4 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Zqiang/rcu-Add-nocb_cb_kthread-check-to-rcu_is_callbacks_kthread/20220425-162445 git checkout c909d116f928cbb9de2daf60a572f3f8a81cc4f4 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash kernel/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): In file included from include/asm-generic/percpu.h:7, from ./arch/arc/include/generated/asm/percpu.h:1, from include/linux/irqflags.h:17, from arch/arc/include/asm/smp.h:102, from arch/arc/include/asm/cmpxchg.h:13, from arch/arc/include/asm/atomic.h:13, from include/linux/atomic.h:7, from include/asm-generic/bitops/lock.h:5, from arch/arc/include/asm/bitops.h:188, from include/linux/bitops.h:33, from include/linux/kernel.h:22, from kernel/rcu/tree.c:21: kernel/rcu/tree_plugin.h: In function 'rcu_is_callbacks_kthread': >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/percpu-defs.h:318:16: note: in definition of macro '__pcpu_size_call_return' 318 | typeof(variable) pscr_ret__; \ | ^~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/percpu-defs.h:219:54: note: in definition of macro '__verify_pcpu_ptr' 219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ | ^~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/percpu-defs.h:320:23: note: in definition of macro '__pcpu_size_call_return' 320 | switch(sizeof(variable)) { \ | ^~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/percpu-defs.h:219:54: note: in definition of macro '__verify_pcpu_ptr' 219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ | ^~~ include/asm-generic/percpu.h:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:195:41: note: in expansion of macro 'raw_cpu_generic_read' 195 | #define raw_cpu_read_1(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:321:30: note: in expansion of macro 'raw_cpu_read_1' 321 | case 1: pscr_ret__ = stem##1(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ In file included from include/linux/compiler_types.h:93, from <command-line>: >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE' 34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ^~~ 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:195:41: note: in expansion of macro 'raw_cpu_generic_read' 195 | #define raw_cpu_read_1(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:321:30: note: in expansion of macro 'raw_cpu_read_1' 321 | case 1: pscr_ret__ = stem##1(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE' 34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ^~~ 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:195:41: note: in expansion of macro 'raw_cpu_generic_read' 195 | #define raw_cpu_read_1(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:321:30: note: in expansion of macro 'raw_cpu_read_1' 321 | case 1: pscr_ret__ = stem##1(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:35:17: 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:195:41: note: in expansion of macro 'raw_cpu_generic_read' 195 | #define raw_cpu_read_1(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:321:30: note: in expansion of macro 'raw_cpu_read_1' 321 | case 1: pscr_ret__ = stem##1(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:35:17: 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:195:41: note: in expansion of macro 'raw_cpu_generic_read' 195 | #define raw_cpu_read_1(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:321:30: note: in expansion of macro 'raw_cpu_read_1' 321 | case 1: pscr_ret__ = stem##1(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ In file included from include/asm-generic/percpu.h:7, from ./arch/arc/include/generated/asm/percpu.h:1, from include/linux/irqflags.h:17, from arch/arc/include/asm/smp.h:102, from arch/arc/include/asm/cmpxchg.h:13, from arch/arc/include/asm/atomic.h:13, from include/linux/atomic.h:7, from include/asm-generic/bitops/lock.h:5, from arch/arc/include/asm/bitops.h:188, from include/linux/bitops.h:33, from include/linux/kernel.h:22, from kernel/rcu/tree.c:21: >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/percpu-defs.h:219:54: note: in definition of macro '__verify_pcpu_ptr' 219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ | ^~~ include/asm-generic/percpu.h:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:198:41: note: in expansion of macro 'raw_cpu_generic_read' 198 | #define raw_cpu_read_2(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:322:30: note: in expansion of macro 'raw_cpu_read_2' 322 | case 2: pscr_ret__ = stem##2(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ In file included from include/linux/compiler_types.h:93, from <command-line>: >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE' 34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ^~~ 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:198:41: note: in expansion of macro 'raw_cpu_generic_read' 198 | #define raw_cpu_read_2(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:322:30: note: in expansion of macro 'raw_cpu_read_2' 322 | case 2: pscr_ret__ = stem##2(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE' 34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ^~~ 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:198:41: note: in expansion of macro 'raw_cpu_generic_read' 198 | #define raw_cpu_read_2(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:322:30: note: in expansion of macro 'raw_cpu_read_2' 322 | case 2: pscr_ret__ = stem##2(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:35:17: 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:198:41: note: in expansion of macro 'raw_cpu_generic_read' 198 | #define raw_cpu_read_2(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:322:30: note: in expansion of macro 'raw_cpu_read_2' 322 | case 2: pscr_ret__ = stem##2(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:35:17: 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:198:41: note: in expansion of macro 'raw_cpu_generic_read' 198 | #define raw_cpu_read_2(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:322:30: note: in expansion of macro 'raw_cpu_read_2' 322 | case 2: pscr_ret__ = stem##2(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ In file included from include/asm-generic/percpu.h:7, from ./arch/arc/include/generated/asm/percpu.h:1, from include/linux/irqflags.h:17, from arch/arc/include/asm/smp.h:102, from arch/arc/include/asm/cmpxchg.h:13, from arch/arc/include/asm/atomic.h:13, from include/linux/atomic.h:7, from include/asm-generic/bitops/lock.h:5, from arch/arc/include/asm/bitops.h:188, from include/linux/bitops.h:33, from include/linux/kernel.h:22, from kernel/rcu/tree.c:21: >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/percpu-defs.h:219:54: note: in definition of macro '__verify_pcpu_ptr' 219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ | ^~~ include/asm-generic/percpu.h:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:201:41: note: in expansion of macro 'raw_cpu_generic_read' 201 | #define raw_cpu_read_4(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:323:30: note: in expansion of macro 'raw_cpu_read_4' 323 | case 4: pscr_ret__ = stem##4(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ In file included from include/linux/compiler_types.h:93, from <command-line>: >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE' 34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ^~~ 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:201:41: note: in expansion of macro 'raw_cpu_generic_read' 201 | #define raw_cpu_read_4(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:323:30: note: in expansion of macro 'raw_cpu_read_4' 323 | case 4: pscr_ret__ = stem##4(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE' 34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ^~~ 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:201:41: note: in expansion of macro 'raw_cpu_generic_read' 201 | #define raw_cpu_read_4(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:323:30: note: in expansion of macro 'raw_cpu_read_4' 323 | case 4: pscr_ret__ = stem##4(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:35:17: 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:201:41: note: in expansion of macro 'raw_cpu_generic_read' 201 | #define raw_cpu_read_4(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:323:30: note: in expansion of macro 'raw_cpu_read_4' 323 | case 4: pscr_ret__ = stem##4(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:35:17: 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:201:41: note: in expansion of macro 'raw_cpu_generic_read' 201 | #define raw_cpu_read_4(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:323:30: note: in expansion of macro 'raw_cpu_read_4' 323 | case 4: pscr_ret__ = stem##4(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ In file included from include/asm-generic/percpu.h:7, from ./arch/arc/include/generated/asm/percpu.h:1, from include/linux/irqflags.h:17, from arch/arc/include/asm/smp.h:102, from arch/arc/include/asm/cmpxchg.h:13, from arch/arc/include/asm/atomic.h:13, from include/linux/atomic.h:7, from include/asm-generic/bitops/lock.h:5, from arch/arc/include/asm/bitops.h:188, from include/linux/bitops.h:33, from include/linux/kernel.h:22, from kernel/rcu/tree.c:21: >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/percpu-defs.h:219:54: note: in definition of macro '__verify_pcpu_ptr' 219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ | ^~~ include/asm-generic/percpu.h:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:204:41: note: in expansion of macro 'raw_cpu_generic_read' 204 | #define raw_cpu_read_8(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:324:30: note: in expansion of macro 'raw_cpu_read_8' 324 | case 8: pscr_ret__ = stem##8(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ In file included from include/linux/compiler_types.h:93, from <command-line>: >> kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE' 34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ^~~ 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:204:41: note: in expansion of macro 'raw_cpu_generic_read' 204 | #define raw_cpu_read_8(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:324:30: note: in expansion of macro 'raw_cpu_read_8' 324 | case 8: pscr_ret__ = stem##8(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:34:41: note: in definition of macro 'RELOC_HIDE' 34 | __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ^~~ 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:204:41: note: in expansion of macro 'raw_cpu_generic_read' 204 | #define raw_cpu_read_8(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:324:30: note: in expansion of macro 'raw_cpu_read_8' 324 | case 8: pscr_ret__ = stem##8(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:35:17: 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/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:67:10: note: in expansion of macro 'raw_cpu_ptr' 67 | *raw_cpu_ptr(&(pcp)); \ | ^~~~~~~~~~~ include/asm-generic/percpu.h:204:41: note: in expansion of macro 'raw_cpu_generic_read' 204 | #define raw_cpu_read_8(pcp) raw_cpu_generic_read(pcp) | ^~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:324:30: note: in expansion of macro 'raw_cpu_read_8' 324 | case 8: pscr_ret__ = stem##8(variable); break; \ | ^~~~ include/linux/percpu-defs.h:420:41: note: in expansion of macro '__pcpu_size_call_return' 420 | #define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:446:9: note: in expansion of macro 'raw_cpu_read' 446 | raw_cpu_read(pcp); \ | ^~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:17: note: in expansion of macro '__this_cpu_read' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^~~~~~~~~~~~~~~ kernel/rcu/tree_plugin.h:1161:41: error: 'struct rcu_data' has no member named 'nocb_cb_kthread' 1161 | __this_cpu_read(rcu_data.nocb_cb_kthread) == current; | ^ include/linux/compiler-gcc.h:35:17: 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/linux/percpu-defs.h:242:9: note: in expansion of macro 'arch_raw_cpu_ptr' 242 | arch_raw_cpu_ptr(ptr); \ vim +1161 kernel/rcu/tree_plugin.h 1153 1154 /* 1155 * Is the current CPU running the RCU-callbacks kthread? 1156 * Caller must have preemption disabled. 1157 */ 1158 static bool rcu_is_callbacks_kthread(void) 1159 { 1160 return __this_cpu_read(rcu_data.rcu_cpu_kthread_task) == current || > 1161 __this_cpu_read(rcu_data.nocb_cb_kthread) == current; 1162 } 1163 -- 0-DAY CI Kernel Test Service https://01.org/lkp