Hi Wander, kernel test robot noticed the following build warnings:
[auto build test WARNING on trace/for-next] [also build test WARNING on tip/sched/core linus/master v6.16-rc3 next-20250627] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Wander-Lairson-Costa/trace-preemptirq-reduce-overhead-of-irq_enable-disable-tracepoints/20250626-222438 base: https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace for-next patch link: https://lore.kernel.org/r/20250626142017.26372-3-wander%40redhat.com patch subject: [PATCH 2/2] tracing/preemptirq: Optimize preempt_disable/enable() tracepoint overhead config: sparc64-randconfig-001-20250628 (https://download.01.org/0day-ci/archive/20250628/[email protected]/config) compiler: sparc64-linux-gcc (GCC) 8.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250628/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All warnings (new ones prefixed by >>): In file included from include/asm-generic/cmpxchg-local.h:6, from arch/sparc/include/asm/cmpxchg_64.h:111, from arch/sparc/include/asm/cmpxchg.h:5, from arch/sparc/include/asm/atomic_64.h:12, from arch/sparc/include/asm/atomic.h:5, from include/linux/atomic.h:7, from include/linux/tracepoint-defs.h:11, from include/linux/preempt.h:13, from include/linux/spinlock.h:56, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/slab.h:16, from kernel/resource.c:17: include/linux/irqflags.h:201:1: warning: data definition has no type or storage class DECLARE_TRACEPOINT(irq_enable); ^~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:201:1: error: type defaults to 'int' in declaration of 'DECLARE_TRACEPOINT' [-Werror=implicit-int] >> include/linux/irqflags.h:201:1: warning: parameter names (without types) in >> function declaration include/linux/irqflags.h:202:1: warning: data definition has no type or storage class DECLARE_TRACEPOINT(irq_disable); ^~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:202:1: error: type defaults to 'int' in declaration of 'DECLARE_TRACEPOINT' [-Werror=implicit-int] include/linux/irqflags.h:202:1: warning: parameter names (without types) in function declaration In file included from include/linux/preempt.h:11, from include/linux/spinlock.h:56, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/slab.h:16, from kernel/resource.c:17: include/linux/irqflags.h: In function 'class_irq_destructor': include/linux/irqflags.h:206:7: error: implicit declaration of function 'tracepoint_enabled'; did you mean 'local_irq_enable'? [-Werror=implicit-function-declaration] if (tracepoint_enabled(irq_enable)) \ ^~~~~~~~~~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:47: note: in expansion of macro 'local_irq_enable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~ include/linux/irqflags.h:206:26: error: 'irq_enable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_enable)) \ ^~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:47: note: in expansion of macro 'local_irq_enable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~ include/linux/irqflags.h:206:26: note: each undeclared identifier is reported only once for each function it appears in if (tracepoint_enabled(irq_enable)) \ ^~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:47: note: in expansion of macro 'local_irq_enable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~ include/linux/irqflags.h: In function 'class_irq_constructor': include/linux/irqflags.h:215:26: error: 'irq_disable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_disable) && \ ^~~~~~~~~~~ include/linux/cleanup.h:403:2: note: in definition of macro '__DEFINE_LOCK_GUARD_0' _lock; \ ^~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:26: note: in expansion of macro 'local_irq_disable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~ include/linux/irqflags.h: In function 'class_irqsave_destructor': include/linux/irqflags.h:230:26: error: 'irq_enable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_enable) && \ ^~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:275:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irqsave, ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:277:7: note: in expansion of macro 'local_irq_restore' local_irq_restore(_T->flags), ^~~~~~~~~~~~~~~~~ include/linux/irqflags.h: In function 'class_irqsave_constructor': include/linux/irqflags.h:223:26: error: 'irq_disable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_disable) && \ ^~~~~~~~~~~ include/linux/cleanup.h:403:2: note: in definition of macro '__DEFINE_LOCK_GUARD_0' _lock; \ ^~~~~ include/linux/irqflags.h:275:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irqsave, ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:276:7: note: in expansion of macro 'local_irq_save' local_irq_save(_T->flags), ^~~~~~~~~~~~~~ In file included from include/linux/static_key.h:1, from include/linux/tracepoint-defs.h:12, from include/linux/preempt.h:13, from include/linux/spinlock.h:56, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/slab.h:16, from kernel/resource.c:17: include/linux/spinlock_api_smp.h: In function '__raw_spin_lock_irqsave': include/linux/tracepoint-defs.h:92:27: error: '__tracepoint_irq_disable' undeclared (first use in this function); did you mean 'raw_local_irq_disable'? static_branch_unlikely(&(__tracepoint_##tp).key) ^~~~~~~~~~~~~ include/linux/jump_label.h:503:43: note: in definition of macro 'static_branch_unlikely' -- In file included from include/asm-generic/cmpxchg-local.h:6, from arch/sparc/include/asm/cmpxchg_64.h:111, from arch/sparc/include/asm/cmpxchg.h:5, from arch/sparc/include/asm/atomic_64.h:12, from arch/sparc/include/asm/atomic.h:5, from include/linux/atomic.h:7, from include/linux/tracepoint-defs.h:11, from include/linux/preempt.h:13, from include/linux/spinlock.h:56, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/slab.h:16, from kernel/fork.c:16: include/linux/irqflags.h:201:1: warning: data definition has no type or storage class DECLARE_TRACEPOINT(irq_enable); ^~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:201:1: error: type defaults to 'int' in declaration of 'DECLARE_TRACEPOINT' [-Werror=implicit-int] >> include/linux/irqflags.h:201:1: warning: parameter names (without types) in >> function declaration include/linux/irqflags.h:202:1: warning: data definition has no type or storage class DECLARE_TRACEPOINT(irq_disable); ^~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:202:1: error: type defaults to 'int' in declaration of 'DECLARE_TRACEPOINT' [-Werror=implicit-int] include/linux/irqflags.h:202:1: warning: parameter names (without types) in function declaration In file included from include/linux/preempt.h:11, from include/linux/spinlock.h:56, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/slab.h:16, from kernel/fork.c:16: include/linux/irqflags.h: In function 'class_irq_destructor': include/linux/irqflags.h:206:7: error: implicit declaration of function 'tracepoint_enabled'; did you mean 'local_irq_enable'? [-Werror=implicit-function-declaration] if (tracepoint_enabled(irq_enable)) \ ^~~~~~~~~~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:47: note: in expansion of macro 'local_irq_enable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~ include/linux/irqflags.h:206:26: error: 'irq_enable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_enable)) \ ^~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:47: note: in expansion of macro 'local_irq_enable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~ include/linux/irqflags.h:206:26: note: each undeclared identifier is reported only once for each function it appears in if (tracepoint_enabled(irq_enable)) \ ^~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:47: note: in expansion of macro 'local_irq_enable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~ include/linux/irqflags.h: In function 'class_irq_constructor': include/linux/irqflags.h:215:26: error: 'irq_disable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_disable) && \ ^~~~~~~~~~~ include/linux/cleanup.h:403:2: note: in definition of macro '__DEFINE_LOCK_GUARD_0' _lock; \ ^~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:26: note: in expansion of macro 'local_irq_disable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~ include/linux/irqflags.h: In function 'class_irqsave_destructor': include/linux/irqflags.h:230:26: error: 'irq_enable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_enable) && \ ^~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:275:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irqsave, ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:277:7: note: in expansion of macro 'local_irq_restore' local_irq_restore(_T->flags), ^~~~~~~~~~~~~~~~~ include/linux/irqflags.h: In function 'class_irqsave_constructor': include/linux/irqflags.h:223:26: error: 'irq_disable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_disable) && \ ^~~~~~~~~~~ include/linux/cleanup.h:403:2: note: in definition of macro '__DEFINE_LOCK_GUARD_0' _lock; \ ^~~~~ include/linux/irqflags.h:275:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irqsave, ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:276:7: note: in expansion of macro 'local_irq_save' local_irq_save(_T->flags), ^~~~~~~~~~~~~~ In file included from include/linux/static_key.h:1, from include/linux/tracepoint-defs.h:12, from include/linux/preempt.h:13, from include/linux/spinlock.h:56, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/slab.h:16, from kernel/fork.c:16: include/linux/spinlock_api_smp.h: In function '__raw_spin_lock_irqsave': include/linux/tracepoint-defs.h:92:27: error: '__tracepoint_irq_disable' undeclared (first use in this function); did you mean 'raw_local_irq_disable'? static_branch_unlikely(&(__tracepoint_##tp).key) ^~~~~~~~~~~~~ include/linux/jump_label.h:503:43: note: in definition of macro 'static_branch_unlikely' -- In file included from include/asm-generic/cmpxchg-local.h:6, from arch/sparc/include/asm/cmpxchg_64.h:111, from arch/sparc/include/asm/cmpxchg.h:5, from arch/sparc/include/asm/atomic_64.h:12, from arch/sparc/include/asm/atomic.h:5, from include/linux/atomic.h:7, from include/linux/tracepoint-defs.h:11, from include/linux/preempt.h:13, from include/linux/alloc_tag.h:11, from include/linux/rhashtable-types.h:12, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/compat.h:14, from kernel/compat.c:12: include/linux/irqflags.h:201:1: warning: data definition has no type or storage class DECLARE_TRACEPOINT(irq_enable); ^~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:201:1: error: type defaults to 'int' in declaration of 'DECLARE_TRACEPOINT' [-Werror=implicit-int] >> include/linux/irqflags.h:201:1: warning: parameter names (without types) in >> function declaration include/linux/irqflags.h:202:1: warning: data definition has no type or storage class DECLARE_TRACEPOINT(irq_disable); ^~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:202:1: error: type defaults to 'int' in declaration of 'DECLARE_TRACEPOINT' [-Werror=implicit-int] include/linux/irqflags.h:202:1: warning: parameter names (without types) in function declaration In file included from include/linux/jump_label.h:78, from include/linux/dynamic_debug.h:6, from include/linux/printk.h:616, from include/asm-generic/bug.h:22, from arch/sparc/include/asm/bug.h:25, from include/linux/bug.h:5, from include/linux/alloc_tag.h:8, from include/linux/rhashtable-types.h:12, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/compat.h:14, from kernel/compat.c:12: include/linux/irqflags.h: In function 'class_irq_destructor': include/linux/irqflags.h:206:7: error: implicit declaration of function 'tracepoint_enabled'; did you mean 'static_key_enabled'? [-Werror=implicit-function-declaration] if (tracepoint_enabled(irq_enable)) \ ^~~~~~~~~~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:47: note: in expansion of macro 'local_irq_enable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~ include/linux/irqflags.h:206:26: error: 'irq_enable' undeclared (first use in this function); did you mean 'ctl_table'? if (tracepoint_enabled(irq_enable)) \ ^~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:47: note: in expansion of macro 'local_irq_enable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~ include/linux/irqflags.h:206:26: note: each undeclared identifier is reported only once for each function it appears in if (tracepoint_enabled(irq_enable)) \ ^~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:47: note: in expansion of macro 'local_irq_enable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~ include/linux/irqflags.h: In function 'class_irq_constructor': include/linux/irqflags.h:215:26: error: 'irq_disable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_disable) && \ ^~~~~~~~~~~ include/linux/cleanup.h:403:2: note: in definition of macro '__DEFINE_LOCK_GUARD_0' _lock; \ ^~~~~ include/linux/irqflags.h:274:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:274:26: note: in expansion of macro 'local_irq_disable' DEFINE_LOCK_GUARD_0(irq, local_irq_disable(), local_irq_enable()) ^~~~~~~~~~~~~~~~~ include/linux/irqflags.h: In function 'class_irqsave_destructor': include/linux/irqflags.h:230:26: error: 'irq_enable' undeclared (first use in this function); did you mean 'ctl_table'? if (tracepoint_enabled(irq_enable) && \ ^~~~~~~~~~ include/linux/cleanup.h:385:18: note: in definition of macro '__DEFINE_UNLOCK_GUARD' if (_T->lock) { _unlock; } \ ^~~~~~~ include/linux/irqflags.h:275:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irqsave, ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:277:7: note: in expansion of macro 'local_irq_restore' local_irq_restore(_T->flags), ^~~~~~~~~~~~~~~~~ include/linux/irqflags.h: In function 'class_irqsave_constructor': include/linux/irqflags.h:223:26: error: 'irq_disable' undeclared (first use in this function); did you mean 'irqs_disabled'? if (tracepoint_enabled(irq_disable) && \ ^~~~~~~~~~~ include/linux/cleanup.h:403:2: note: in definition of macro '__DEFINE_LOCK_GUARD_0' _lock; \ ^~~~~ include/linux/irqflags.h:275:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0' DEFINE_LOCK_GUARD_0(irqsave, ^~~~~~~~~~~~~~~~~~~ include/linux/irqflags.h:276:7: note: in expansion of macro 'local_irq_save' local_irq_save(_T->flags), ^~~~~~~~~~~~~~ In file included from include/linux/dynamic_debug.h:6, from include/linux/printk.h:616, from include/asm-generic/bug.h:22, from arch/sparc/include/asm/bug.h:25, from include/linux/bug.h:5, from include/linux/alloc_tag.h:8, .. vim +201 include/linux/irqflags.h 00b0ed2d4997af Peter Zijlstra 2020-08-12 200 563d10fd41452f Wander Lairson Costa 2025-06-26 @201 DECLARE_TRACEPOINT(irq_enable); 563d10fd41452f Wander Lairson Costa 2025-06-26 202 DECLARE_TRACEPOINT(irq_disable); 563d10fd41452f Wander Lairson Costa 2025-06-26 203 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
