Messages in this thread | | | Date | Thu, 19 May 2022 00:23:14 +0800 | From | kernel test robot <> | Subject | [frederic-dynticks:rcu/context-tracking-v3 14/21] include/linux/context_tracking_state.h:38:42: error: 'context_tracking' undeclared |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git rcu/context-tracking-v3 head: 339c667118c84314e759bb67eb0ebd8eb292eafb commit: 7d7866ee3fc460499ec37f49666ada28e24d4cb4 [14/21] rcu/context_tracking: Move dynticks counter to context tracking config: ia64-buildonly-randconfig-r003-20220518 (https://download.01.org/0day-ci/archive/20220519/202205190029.DxLHyh95-lkp@intel.com/config) compiler: ia64-linux-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://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git/commit/?id=7d7866ee3fc460499ec37f49666ada28e24d4cb4 git remote add frederic-dynticks https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git git fetch --no-tags frederic-dynticks rcu/context-tracking-v3 git checkout 7d7866ee3fc460499ec37f49666ada28e24d4cb4 # 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=ia64 SHELL=/bin/bash drivers/acpi/ drivers/message/fusion/ kernel/rcu/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
In file included from include/asm-generic/percpu.h:7, from arch/ia64/include/asm/percpu.h:46, from arch/ia64/include/asm/processor.h:76, from arch/ia64/include/asm/thread_info.h:12, from include/linux/thread_info.h:60, from include/asm-generic/preempt.h:5, from ./arch/ia64/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:55, from kernel/rcu/update.c:23: include/linux/context_tracking_state.h: In function 'ct_dynticks': >> include/linux/context_tracking_state.h:38:42: error: 'context_tracking' undeclared (first use in this function) 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~~~~~ 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:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ include/linux/context_tracking_state.h:38:28: note: in expansion of macro 'this_cpu_ptr' 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~ include/linux/context_tracking_state.h:38:42: note: each undeclared identifier is reported only once for each function it appears in 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~~~~~ 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:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ include/linux/context_tracking_state.h:38:28: note: in expansion of macro 'this_cpu_ptr' 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~ include/linux/context_tracking_state.h: In function 'ct_dynticks_cpu': include/linux/context_tracking_state.h:43:52: error: 'context_tracking' undeclared (first use in this function) 43 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~~~~~~ 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/context_tracking_state.h:43:39: note: in expansion of macro 'per_cpu_ptr' 43 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~ include/linux/context_tracking_state.h: In function 'ct_dynticks_cpu_acquire': include/linux/context_tracking_state.h:49:52: error: 'context_tracking' undeclared (first use in this function) 49 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~~~~~~ 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/context_tracking_state.h:49:39: note: in expansion of macro 'per_cpu_ptr' 49 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~ In file included from arch/ia64/include/asm/pgtable.h:153, from include/linux/pgtable.h:6, from arch/ia64/include/asm/uaccess.h:40, from include/linux/uaccess.h:11, from arch/ia64/include/asm/sections.h:11, from include/linux/interrupt.h:21, from kernel/rcu/update.c:25: arch/ia64/include/asm/mmu_context.h: In function 'reload_context': arch/ia64/include/asm/mmu_context.h:127:48: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable] 127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4; | ^~~~~~~ -- In file included from include/asm-generic/percpu.h:7, from arch/ia64/include/asm/percpu.h:46, from arch/ia64/include/asm/processor.h:76, from arch/ia64/include/asm/thread_info.h:12, from include/linux/thread_info.h:60, from include/asm-generic/preempt.h:5, from ./arch/ia64/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:55, from kernel/rcu/tree.c:23: include/linux/context_tracking_state.h: In function 'ct_dynticks': >> include/linux/context_tracking_state.h:38:42: error: 'context_tracking' undeclared (first use in this function) 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~~~~~ 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:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ include/linux/context_tracking_state.h:38:28: note: in expansion of macro 'this_cpu_ptr' 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~ include/linux/context_tracking_state.h:38:42: note: each undeclared identifier is reported only once for each function it appears in 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~~~~~ 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:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ include/linux/context_tracking_state.h:38:28: note: in expansion of macro 'this_cpu_ptr' 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~ include/linux/context_tracking_state.h: In function 'ct_dynticks_cpu': include/linux/context_tracking_state.h:43:52: error: 'context_tracking' undeclared (first use in this function) 43 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~~~~~~ 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/context_tracking_state.h:43:39: note: in expansion of macro 'per_cpu_ptr' 43 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~ include/linux/context_tracking_state.h: In function 'ct_dynticks_cpu_acquire': include/linux/context_tracking_state.h:49:52: error: 'context_tracking' undeclared (first use in this function) 49 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~~~~~~ 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/context_tracking_state.h:49:39: note: in expansion of macro 'per_cpu_ptr' 49 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~ In file included from arch/ia64/include/asm/pgtable.h:153, from include/linux/pgtable.h:6, from arch/ia64/include/asm/uaccess.h:40, from include/linux/uaccess.h:11, from arch/ia64/include/asm/sections.h:11, from include/linux/interrupt.h:21, from kernel/rcu/tree.c:26: arch/ia64/include/asm/mmu_context.h: In function 'reload_context': arch/ia64/include/asm/mmu_context.h:127:48: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable] 127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4; | ^~~~~~~ In file included from arch/ia64/include/asm/intrinsics.h:11, from arch/ia64/include/asm/bitops.h:19, from include/linux/bitops.h:33, from include/linux/kernel.h:22, from kernel/rcu/tree.c:21: kernel/rcu/tree.c: In function 'rcu_dynticks_inc': >> kernel/rcu/tree.c:270:60: error: 'context_tracking' undeclared (first use in this function) 270 | return arch_atomic_add_return(incby, this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~~~~~ arch/ia64/include/uapi/asm/intrinsics.h:59:31: note: in definition of macro 'ia64_fetchadd' 59 | volatile __typeof__(*(v)) *_v = (v); \ | ^ arch/ia64/include/asm/atomic.h:81:19: note: in expansion of macro 'ia64_fetch_and_add' 81 | ? ia64_fetch_and_add(__ia64_aar_i, &(v)->counter) \ | ^~~~~~~~~~~~~~~~~~ kernel/rcu/tree.c:270:16: note: in expansion of macro 'arch_atomic_add_return' 270 | return arch_atomic_add_return(incby, this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:241:9: note: in expansion of macro '__verify_pcpu_ptr' 241 | __verify_pcpu_ptr(ptr); \ | ^~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ kernel/rcu/tree.c:270:46: note: in expansion of macro 'this_cpu_ptr' 270 | return arch_atomic_add_return(incby, this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~ In file included from <command-line>: kernel/rcu/tree.c: In function 'rcu_dynticks_curr_cpu_in_eqs': kernel/rcu/tree.c:338:49: error: 'context_tracking' undeclared (first use in this function) 338 | return !(arch_atomic_read(this_cpu_ptr(&context_tracking.dynticks)) & 0x1); | ^~~~~~~~~~~~~~~~ include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert' 332 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert' 352 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type' 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/ia64/include/asm/atomic.h:24:33: note: in expansion of macro 'READ_ONCE' 24 | #define arch_atomic_read(v) READ_ONCE((v)->counter) | ^~~~~~~~~ kernel/rcu/tree.c:338:18: note: in expansion of macro 'arch_atomic_read' 338 | return !(arch_atomic_read(this_cpu_ptr(&context_tracking.dynticks)) & 0x1); | ^~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:241:9: note: in expansion of macro '__verify_pcpu_ptr' 241 | __verify_pcpu_ptr(ptr); \ | ^~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ kernel/rcu/tree.c:338:35: note: in expansion of macro 'this_cpu_ptr' 338 | return !(arch_atomic_read(this_cpu_ptr(&context_tracking.dynticks)) & 0x1); | ^~~~~~~~~~~~ In file included from include/asm-generic/percpu.h:7, from arch/ia64/include/asm/percpu.h:46, from arch/ia64/include/asm/processor.h:76, from arch/ia64/include/asm/thread_info.h:12, from include/linux/thread_info.h:60, from include/asm-generic/preempt.h:5, from ./arch/ia64/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:55, from kernel/rcu/tree.c:23: kernel/rcu/tree.c: In function 'rcu_eqs_enter': kernel/rcu/tree.c:617:53: error: 'context_tracking' undeclared (first use in this function) 617 | struct context_tracking *ct = this_cpu_ptr(&context_tracking); | ^~~~~~~~~~~~~~~~ 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:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ kernel/rcu/tree.c:617:39: note: in expansion of macro 'this_cpu_ptr' 617 | struct context_tracking *ct = this_cpu_ptr(&context_tracking); | ^~~~~~~~~~~~ kernel/rcu/tree.c: In function 'rcu_nmi_exit': kernel/rcu/tree.c:747:53: error: 'context_tracking' undeclared (first use in this function) 747 | struct context_tracking *ct = this_cpu_ptr(&context_tracking); | ^~~~~~~~~~~~~~~~ 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:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ kernel/rcu/tree.c:747:39: note: in expansion of macro 'this_cpu_ptr' 747 | struct context_tracking *ct = this_cpu_ptr(&context_tracking); | ^~~~~~~~~~~~ kernel/rcu/tree.c: In function 'rcu_eqs_exit': kernel/rcu/tree.c:816:53: error: 'context_tracking' undeclared (first use in this function) 816 | struct context_tracking *ct = this_cpu_ptr(&context_tracking); | ^~~~~~~~~~~~~~~~ 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:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) -- In file included from arch/ia64/include/asm/pgtable.h:153, from include/linux/pgtable.h:6, from include/linux/mm.h:29, from drivers/acpi/osl.c:17: arch/ia64/include/asm/mmu_context.h: In function 'reload_context': arch/ia64/include/asm/mmu_context.h:127:48: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable] 127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4; | ^~~~~~~ In file included from include/asm-generic/percpu.h:7, from arch/ia64/include/asm/percpu.h:46, from arch/ia64/include/asm/processor.h:76, from arch/ia64/include/asm/timex.h:15, from include/linux/timex.h:65, from include/linux/time32.h:13, from include/linux/time.h:60, from include/linux/stat.h:19, from include/linux/module.h:13, from drivers/acpi/osl.c:14: include/linux/context_tracking_state.h: In function 'ct_dynticks': >> include/linux/context_tracking_state.h:38:42: error: 'context_tracking' undeclared (first use in this function) 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~~~~~ 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:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ include/linux/context_tracking_state.h:38:28: note: in expansion of macro 'this_cpu_ptr' 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~ include/linux/context_tracking_state.h:38:42: note: each undeclared identifier is reported only once for each function it appears in 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~~~~~ 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:252:27: note: in expansion of macro 'raw_cpu_ptr' 252 | #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr) | ^~~~~~~~~~~ include/linux/context_tracking_state.h:38:28: note: in expansion of macro 'this_cpu_ptr' 38 | return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); | ^~~~~~~~~~~~ include/linux/context_tracking_state.h: In function 'ct_dynticks_cpu': include/linux/context_tracking_state.h:43:52: error: 'context_tracking' undeclared (first use in this function) 43 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~~~~~~ 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/context_tracking_state.h:43:39: note: in expansion of macro 'per_cpu_ptr' 43 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~ include/linux/context_tracking_state.h: In function 'ct_dynticks_cpu_acquire': include/linux/context_tracking_state.h:49:52: error: 'context_tracking' undeclared (first use in this function) 49 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~~~~~~ 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/context_tracking_state.h:49:39: note: in expansion of macro 'per_cpu_ptr' 49 | struct context_tracking *ct = per_cpu_ptr(&context_tracking, cpu); | ^~~~~~~~~~~ drivers/acpi/osl.c: In function 'acpi_os_vprintf': drivers/acpi/osl.c:157:9: warning: function 'acpi_os_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 157 | vsprintf(buffer, fmt, args); | ^~~~~~~~ ..
Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for CONTEXT_TRACKING_IDLE Depends on GENERIC_CLOCKEVENTS Selected by - TREE_RCU
vim +/context_tracking +38 include/linux/context_tracking_state.h
34 35 #ifdef CONFIG_CONTEXT_TRACKING_IDLE 36 static __always_inline int ct_dynticks(void) 37 { > 38 return atomic_read(this_cpu_ptr(&context_tracking.dynticks)); 39 } 40
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |