Re: [PATCH] rcu: Add nocb_cb_kthread check to rcu_is_callbacks_kthread()

From: kernel test robot
Date: Mon Apr 25 2022 - 12:54:58 EST


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