linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] tracepoints: Do not punish non static call users
@ 2021-02-05 21:55 Steven Rostedt
  2021-02-06  6:16 ` kernel test robot
  2021-02-06  6:58 ` kernel test robot
  0 siblings, 2 replies; 3+ messages in thread
From: Steven Rostedt @ 2021-02-05 21:55 UTC (permalink / raw)
  To: LKML; +Cc: Ingo Molnar, Andrew Morton, Peter Zijlstra, Mathieu Desnoyers

From: Steven Rostedt <rostedt@goodmis.org>

With static calls, a tracepoint can call the callback directly if there is
only one callback registered to that tracepoint. When there is more than
one, the static call will call the tracepoint's "iterator" function, which
needs to reload the tracepoint's "funcs" array again, as it could have
changed since the first time it was loaded.

But an arch without static calls is punished by having to load the
tracepoint's "funcs" array twice. Once in the DO_TRACE macro, and once
again in the iterator macro.

For archs without static calls, there's no reason to load the array macro
in the first place, since the iterator function will do it anyway.

Change the __DO_TRACE_CALL() macro to do the load and call of the
tracepoints funcs array only for architectures with static calls, and just
call the iterator function directly for architectures without static calls.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
Changes since v1:
  - Updated change log (no double calls)
  - Added "__maybe_unused" to void *__data

 include/linux/tracepoint.h | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h
index 966ed8980327..db2c8484b4b1 100644
--- a/include/linux/tracepoint.h
+++ b/include/linux/tracepoint.h
@@ -152,9 +152,18 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p)
 #ifdef TRACEPOINTS_ENABLED
 
 #ifdef CONFIG_HAVE_STATIC_CALL
-#define __DO_TRACE_CALL(name)	static_call(tp_func_##name)
+#define __DO_TRACE_CALL(name, args)					\
+	do {								\
+		struct tracepoint_func *it_func_ptr;			\
+		it_func_ptr =						\
+			rcu_dereference_raw((&__tracepoint_##name)->funcs); \
+		if (it_func_ptr) {					\
+			__data = (it_func_ptr)->data;			\
+			static_call(tp_func_##name)(args);		\
+		}							\
+	} while (0)
 #else
-#define __DO_TRACE_CALL(name)	__traceiter_##name
+#define __DO_TRACE_CALL(name, args)	__traceiter_##name(args)
 #endif /* CONFIG_HAVE_STATIC_CALL */
 
 /*
@@ -168,9 +177,8 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p)
  */
 #define __DO_TRACE(name, proto, args, cond, rcuidle)			\
 	do {								\
-		struct tracepoint_func *it_func_ptr;			\
 		int __maybe_unused __idx = 0;				\
-		void *__data;						\
+		void __maybe_unused *__data;				\
 									\
 		if (!(cond))						\
 			return;						\
@@ -190,12 +198,7 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p)
 			rcu_irq_enter_irqson();				\
 		}							\
 									\
-		it_func_ptr =						\
-			rcu_dereference_raw((&__tracepoint_##name)->funcs); \
-		if (it_func_ptr) {					\
-			__data = (it_func_ptr)->data;			\
-			__DO_TRACE_CALL(name)(args);			\
-		}							\
+		__DO_TRACE_CALL(name, TP_ARGS(args));			\
 									\
 		if (rcuidle) {						\
 			rcu_irq_exit_irqson();				\
-- 
2.25.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] tracepoints: Do not punish non static call users
  2021-02-05 21:55 [PATCH v2] tracepoints: Do not punish non static call users Steven Rostedt
@ 2021-02-06  6:16 ` kernel test robot
  2021-02-06  6:58 ` kernel test robot
  1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-02-06  6:16 UTC (permalink / raw)
  To: Steven Rostedt, LKML
  Cc: kbuild-all, clang-built-linux, Ingo Molnar, Andrew Morton,
	Linux Memory Management List, Peter Zijlstra, Mathieu Desnoyers

[-- Attachment #1: Type: text/plain, Size: 30896 bytes --]

Hi Steven,

I love your patch! Yet something to improve:

[auto build test ERROR on tip/perf/core]
[also build test ERROR on linux/master linus/master v5.11-rc6 next-20210125]
[cannot apply to hnaz-linux-mm/master]
[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/0day-ci/linux/commits/Steven-Rostedt/tracepoints-Do-not-punish-non-static-call-users/20210206-112501
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 32451614da2a9cf4296f90d3606ac77814fb519d
config: powerpc-randconfig-r002-20210206 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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
        # install powerpc cross compiling tool for clang build
        # apt-get install binutils-powerpc-linux-gnu
        # https://github.com/0day-ci/linux/commit/3fc399c60e990487bf5d0cd91406052c0db853df
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Steven-Rostedt/tracepoints-Do-not-punish-non-static-call-users/20210206-112501
        git checkout 3fc399c60e990487bf5d0cd91406052c0db853df
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from arch/powerpc/kernel/ptrace/ptrace.c:29:
>> include/trace/events/syscalls.h:18:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   TRACE_EVENT_FN(sys_enter,
   ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:553:2: note: expanded from macro 'TRACE_EVENT_FN'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/syscalls.h:18:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:553:2: note: expanded from macro 'TRACE_EVENT_FN'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from arch/powerpc/kernel/ptrace/ptrace.c:29:
>> include/trace/events/syscalls.h:18:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   TRACE_EVENT_FN(sys_enter,
   ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:553:2: note: expanded from macro 'TRACE_EVENT_FN'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/syscalls.h:18:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:553:2: note: expanded from macro 'TRACE_EVENT_FN'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:254:2: note: expanded from macro '__DECLARE_TRACE'
           __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),          \
           ^
   include/linux/tracepoint.h:216:4: note: expanded from macro '__DECLARE_TRACE_RCU'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from arch/powerpc/kernel/ptrace/ptrace.c:29:
   include/trace/events/syscalls.h:44:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   TRACE_EVENT_FN(sys_exit,
   ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:553:2: note: expanded from macro 'TRACE_EVENT_FN'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/syscalls.h:44:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:553:2: note: expanded from macro 'TRACE_EVENT_FN'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from arch/powerpc/kernel/ptrace/ptrace.c:29:
   include/trace/events/syscalls.h:44:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   TRACE_EVENT_FN(sys_exit,
   ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:553:2: note: expanded from macro 'TRACE_EVENT_FN'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/syscalls.h:44:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:553:2: note: expanded from macro 'TRACE_EVENT_FN'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
--
   In file included from arch/powerpc/mm/nohash/mmu_context.c:51:
   In file included from arch/powerpc/mm/mmu_decl.h:20:
>> arch/powerpc/include/asm/trace.h:29:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   DEFINE_EVENT(ppc64_interrupt_class, irq_entry,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   arch/powerpc/include/asm/trace.h:29:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from arch/powerpc/mm/nohash/mmu_context.c:51:
   In file included from arch/powerpc/mm/mmu_decl.h:20:
>> arch/powerpc/include/asm/trace.h:29:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   DEFINE_EVENT(ppc64_interrupt_class, irq_entry,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   arch/powerpc/include/asm/trace.h:29:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:254:2: note: expanded from macro '__DECLARE_TRACE'
           __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),          \
           ^
   include/linux/tracepoint.h:216:4: note: expanded from macro '__DECLARE_TRACE_RCU'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from arch/powerpc/mm/nohash/mmu_context.c:51:
   In file included from arch/powerpc/mm/mmu_decl.h:20:
   arch/powerpc/include/asm/trace.h:36:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   DEFINE_EVENT(ppc64_interrupt_class, irq_exit,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   arch/powerpc/include/asm/trace.h:36:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from arch/powerpc/mm/nohash/mmu_context.c:51:
   In file included from arch/powerpc/mm/mmu_decl.h:20:
   arch/powerpc/include/asm/trace.h:36:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   DEFINE_EVENT(ppc64_interrupt_class, irq_exit,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   arch/powerpc/include/asm/trace.h:36:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
--
   In file included from arch/powerpc/mm/nohash/tlb.c:45:
   In file included from arch/powerpc/mm/mmu_decl.h:20:
>> arch/powerpc/include/asm/trace.h:29:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   DEFINE_EVENT(ppc64_interrupt_class, irq_entry,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   arch/powerpc/include/asm/trace.h:29:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from arch/powerpc/mm/nohash/tlb.c:45:
   In file included from arch/powerpc/mm/mmu_decl.h:20:
>> arch/powerpc/include/asm/trace.h:29:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   DEFINE_EVENT(ppc64_interrupt_class, irq_entry,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   arch/powerpc/include/asm/trace.h:29:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:254:2: note: expanded from macro '__DECLARE_TRACE'
           __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),          \
           ^
   include/linux/tracepoint.h:216:4: note: expanded from macro '__DECLARE_TRACE_RCU'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from arch/powerpc/mm/nohash/tlb.c:45:
   In file included from arch/powerpc/mm/mmu_decl.h:20:
   arch/powerpc/include/asm/trace.h:36:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   DEFINE_EVENT(ppc64_interrupt_class, irq_exit,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   arch/powerpc/include/asm/trace.h:36:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from arch/powerpc/mm/nohash/tlb.c:45:
   In file included from arch/powerpc/mm/mmu_decl.h:20:
   arch/powerpc/include/asm/trace.h:36:1: error: variable '__data' is uninitialized when used here [-Werror,-Wuninitialized]
   DEFINE_EVENT(ppc64_interrupt_class, irq_exit,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   arch/powerpc/include/asm/trace.h:36:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:539:2: note: expanded from macro 'DEFINE_EVENT'
..

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for NETDEVICES
   Depends on NET
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for ETHERNET
   Depends on NETDEVICES && NET
   Selected by
   - AKEBONO && PPC_47x
   WARNING: unmet direct dependencies detected for GRO_CELLS
   Depends on NET
   Selected by
   - MACSEC && NETDEVICES && NET_CORE
   - RMNET && NETDEVICES && ETHERNET && NET_VENDOR_QUALCOMM
   WARNING: unmet direct dependencies detected for FAILOVER
   Depends on NET
   Selected by
   - NET_FAILOVER && NETDEVICES
   WARNING: unmet direct dependencies detected for PAGE_POOL
   Depends on NET
   Selected by
   - BNXT && NETDEVICES && ETHERNET && NET_VENDOR_BROADCOM && PCI
   - STMMAC_ETH && NETDEVICES && ETHERNET && NET_VENDOR_STMICRO && HAS_IOMEM && HAS_DMA
   WARNING: unmet direct dependencies detected for NET_DEVLINK
   Depends on NET
   Selected by
   - BNXT && NETDEVICES && ETHERNET && NET_VENDOR_BROADCOM && PCI
   - MLX5_CORE && NETDEVICES && ETHERNET && NET_VENDOR_MELLANOX && PCI && (VXLAN || !VXLAN && (MLXFW || !MLXFW && (PTP_1588_CLOCK || !PTP_1588_CLOCK && (PCI_HYPERV_INTERFACE || !PCI_HYPERV_INTERFACE
   - MLXSW_CORE && NETDEVICES && ETHERNET && NET_VENDOR_MELLANOX
   - MLXFW && NETDEVICES && ETHERNET && NET_VENDOR_MELLANOX


vim +/__data +18 include/trace/events/syscalls.h

1c569f0264ea62 Josh Stone               2009-08-24  17  
1c569f0264ea62 Josh Stone               2009-08-24 @18  TRACE_EVENT_FN(sys_enter,
1c569f0264ea62 Josh Stone               2009-08-24  19  
1c569f0264ea62 Josh Stone               2009-08-24  20  	TP_PROTO(struct pt_regs *regs, long id),
1c569f0264ea62 Josh Stone               2009-08-24  21  
1c569f0264ea62 Josh Stone               2009-08-24  22  	TP_ARGS(regs, id),
1c569f0264ea62 Josh Stone               2009-08-24  23  
1c569f0264ea62 Josh Stone               2009-08-24  24  	TP_STRUCT__entry(
1c569f0264ea62 Josh Stone               2009-08-24  25  		__field(	long,		id		)
1c569f0264ea62 Josh Stone               2009-08-24  26  		__array(	unsigned long,	args,	6	)
1c569f0264ea62 Josh Stone               2009-08-24  27  	),
1c569f0264ea62 Josh Stone               2009-08-24  28  
1c569f0264ea62 Josh Stone               2009-08-24  29  	TP_fast_assign(
1c569f0264ea62 Josh Stone               2009-08-24  30  		__entry->id	= id;
b35f549df1d752 Steven Rostedt (Red Hat  2016-11-07  31) 		syscall_get_arguments(current, regs, __entry->args);
1c569f0264ea62 Josh Stone               2009-08-24  32  	),
1c569f0264ea62 Josh Stone               2009-08-24  33  
1c569f0264ea62 Josh Stone               2009-08-24  34  	TP_printk("NR %ld (%lx, %lx, %lx, %lx, %lx, %lx)",
1c569f0264ea62 Josh Stone               2009-08-24  35  		  __entry->id,
1c569f0264ea62 Josh Stone               2009-08-24  36  		  __entry->args[0], __entry->args[1], __entry->args[2],
1c569f0264ea62 Josh Stone               2009-08-24  37  		  __entry->args[3], __entry->args[4], __entry->args[5]),
1c569f0264ea62 Josh Stone               2009-08-24  38  
1c569f0264ea62 Josh Stone               2009-08-24  39  	syscall_regfunc, syscall_unregfunc
1c569f0264ea62 Josh Stone               2009-08-24  40  );
1c569f0264ea62 Josh Stone               2009-08-24  41  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32472 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] tracepoints: Do not punish non static call users
  2021-02-05 21:55 [PATCH v2] tracepoints: Do not punish non static call users Steven Rostedt
  2021-02-06  6:16 ` kernel test robot
@ 2021-02-06  6:58 ` kernel test robot
  1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-02-06  6:58 UTC (permalink / raw)
  To: Steven Rostedt, LKML
  Cc: kbuild-all, clang-built-linux, Ingo Molnar, Andrew Morton,
	Linux Memory Management List, Peter Zijlstra, Mathieu Desnoyers

[-- Attachment #1: Type: text/plain, Size: 30172 bytes --]

Hi Steven,

I love your patch! Perhaps something to improve:

[auto build test WARNING on tip/perf/core]
[also build test WARNING on linux/master linus/master v5.11-rc6 next-20210125]
[cannot apply to hnaz-linux-mm/master]
[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/0day-ci/linux/commits/Steven-Rostedt/tracepoints-Do-not-punish-non-static-call-users/20210206-112501
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 32451614da2a9cf4296f90d3606ac77814fb519d
config: arm64-randconfig-r033-20210206 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/3fc399c60e990487bf5d0cd91406052c0db853df
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Steven-Rostedt/tracepoints-Do-not-punish-non-static-call-users/20210206-112501
        git checkout 3fc399c60e990487bf5d0cd91406052c0db853df
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   In file included from block/blk-wbt.c:32:
>> include/trace/events/wbt.h:15:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(wbt_stat,
   ^~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/wbt.h:15:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from block/blk-wbt.c:32:
>> include/trace/events/wbt.h:15:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(wbt_stat,
   ^~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/wbt.h:15:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:254:2: note: expanded from macro '__DECLARE_TRACE'
           __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),          \
           ^
   include/linux/tracepoint.h:216:4: note: expanded from macro '__DECLARE_TRACE_RCU'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from block/blk-wbt.c:32:
   include/trace/events/wbt.h:59:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(wbt_lat,
   ^~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/wbt.h:59:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from block/blk-wbt.c:32:
   include/trace/events/wbt.h:59:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(wbt_lat,
   ^~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/wbt.h:59:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
--
   In file included from drivers/dma/tegra20-apb-dma.c:32:
>> include/trace/events/tegra_apb_dma.h:10:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(tegra_dma_tx_status,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/tegra_apb_dma.h:10:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from drivers/dma/tegra20-apb-dma.c:32:
>> include/trace/events/tegra_apb_dma.h:10:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(tegra_dma_tx_status,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/tegra_apb_dma.h:10:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:254:2: note: expanded from macro '__DECLARE_TRACE'
           __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),          \
           ^
   include/linux/tracepoint.h:216:4: note: expanded from macro '__DECLARE_TRACE_RCU'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from drivers/dma/tegra20-apb-dma.c:32:
   include/trace/events/tegra_apb_dma.h:27:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(tegra_dma_complete_cb,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/tegra_apb_dma.h:27:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from drivers/dma/tegra20-apb-dma.c:32:
   include/trace/events/tegra_apb_dma.h:27:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(tegra_dma_complete_cb,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/tegra_apb_dma.h:27:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
--
   In file included from drivers/target/target_core_transport.c:41:
>> include/trace/events/target.h:132:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(target_sequencer_start,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/target.h:132:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from drivers/target/target_core_transport.c:41:
>> include/trace/events/target.h:132:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(target_sequencer_start,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/target.h:132:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:254:2: note: expanded from macro '__DECLARE_TRACE'
           __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),          \
           ^
   include/linux/tracepoint.h:216:4: note: expanded from macro '__DECLARE_TRACE_RCU'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from drivers/target/target_core_transport.c:41:
   include/trace/events/target.h:169:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(target_cmd_complete,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/target.h:169:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:414:2: note: expanded from macro 'DECLARE_TRACE'
           __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
           ^
   include/linux/tracepoint.h:244:4: note: expanded from macro '__DECLARE_TRACE'
                           __DO_TRACE(name,                                \
                           ^
   include/linux/tracepoint.h:181:3: note: expanded from macro '__DO_TRACE'
                   void __maybe_unused *__data;                            \
                   ^
   In file included from drivers/target/target_core_transport.c:41:
   include/trace/events/target.h:169:1: warning: variable '__data' is uninitialized when used here [-Wuninitialized]
   TRACE_EVENT(target_cmd_complete,
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/tracepoint.h:417:11: note: expanded from macro 'DECLARE_TRACE'
                           PARAMS(__data, args))
                                  ^~~~~~
   include/linux/tracepoint.h:97:25: note: expanded from macro 'PARAMS'
   #define PARAMS(args...) args
                           ^~~~
   note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/tracepoint.h:201:33: note: expanded from macro '__DO_TRACE'
                   __DO_TRACE_CALL(name, TP_ARGS(args));                   \
                                                 ^~~~
   include/linux/tracepoint.h:138:26: note: expanded from macro 'TP_ARGS'
   #define TP_ARGS(args...)        args
                                   ^~~~
   include/linux/tracepoint.h:166:56: note: expanded from macro '__DO_TRACE_CALL'
   #define __DO_TRACE_CALL(name, args)     __traceiter_##name(args)
                                                              ^~~~
   include/trace/events/target.h:169:1: note: variable '__data' is declared here
   include/linux/tracepoint.h:550:2: note: expanded from macro 'TRACE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
..


vim +/__data +15 include/trace/events/wbt.h

e34cbd307477ae Jens Axboe      2016-11-09  10  
e34cbd307477ae Jens Axboe      2016-11-09  11  /**
e34cbd307477ae Jens Axboe      2016-11-09  12   * wbt_stat - trace stats for blk_wb
e34cbd307477ae Jens Axboe      2016-11-09  13   * @stat: array of read/write stats
e34cbd307477ae Jens Axboe      2016-11-09  14   */
e34cbd307477ae Jens Axboe      2016-11-09 @15  TRACE_EVENT(wbt_stat,
e34cbd307477ae Jens Axboe      2016-11-09  16  
e34cbd307477ae Jens Axboe      2016-11-09  17  	TP_PROTO(struct backing_dev_info *bdi, struct blk_rq_stat *stat),
e34cbd307477ae Jens Axboe      2016-11-09  18  
e34cbd307477ae Jens Axboe      2016-11-09  19  	TP_ARGS(bdi, stat),
e34cbd307477ae Jens Axboe      2016-11-09  20  
e34cbd307477ae Jens Axboe      2016-11-09  21  	TP_STRUCT__entry(
e34cbd307477ae Jens Axboe      2016-11-09  22  		__array(char, name, 32)
e34cbd307477ae Jens Axboe      2016-11-09  23  		__field(s64, rmean)
e34cbd307477ae Jens Axboe      2016-11-09  24  		__field(u64, rmin)
e34cbd307477ae Jens Axboe      2016-11-09  25  		__field(u64, rmax)
e34cbd307477ae Jens Axboe      2016-11-09  26  		__field(s64, rnr_samples)
e34cbd307477ae Jens Axboe      2016-11-09  27  		__field(s64, rtime)
e34cbd307477ae Jens Axboe      2016-11-09  28  		__field(s64, wmean)
e34cbd307477ae Jens Axboe      2016-11-09  29  		__field(u64, wmin)
e34cbd307477ae Jens Axboe      2016-11-09  30  		__field(u64, wmax)
e34cbd307477ae Jens Axboe      2016-11-09  31  		__field(s64, wnr_samples)
e34cbd307477ae Jens Axboe      2016-11-09  32  		__field(s64, wtime)
e34cbd307477ae Jens Axboe      2016-11-09  33  	),
e34cbd307477ae Jens Axboe      2016-11-09  34  
e34cbd307477ae Jens Axboe      2016-11-09  35  	TP_fast_assign(
d51cfc53ade318 Yufen Yu        2020-05-04  36  		strlcpy(__entry->name, bdi_dev_name(bdi),
1d200e9d6f635a Bart Van Assche 2019-09-30  37  			ARRAY_SIZE(__entry->name));
e34cbd307477ae Jens Axboe      2016-11-09  38  		__entry->rmean		= stat[0].mean;
e34cbd307477ae Jens Axboe      2016-11-09  39  		__entry->rmin		= stat[0].min;
e34cbd307477ae Jens Axboe      2016-11-09  40  		__entry->rmax		= stat[0].max;
e34cbd307477ae Jens Axboe      2016-11-09  41  		__entry->rnr_samples	= stat[0].nr_samples;
e34cbd307477ae Jens Axboe      2016-11-09  42  		__entry->wmean		= stat[1].mean;
e34cbd307477ae Jens Axboe      2016-11-09  43  		__entry->wmin		= stat[1].min;
e34cbd307477ae Jens Axboe      2016-11-09  44  		__entry->wmax		= stat[1].max;
e34cbd307477ae Jens Axboe      2016-11-09  45  		__entry->wnr_samples	= stat[1].nr_samples;
e34cbd307477ae Jens Axboe      2016-11-09  46  	),
e34cbd307477ae Jens Axboe      2016-11-09  47  
e34cbd307477ae Jens Axboe      2016-11-09  48  	TP_printk("%s: rmean=%llu, rmin=%llu, rmax=%llu, rsamples=%llu, "
3f22037d382b45 Tommi Rantala   2020-04-17  49  		  "wmean=%llu, wmin=%llu, wmax=%llu, wsamples=%llu",
e34cbd307477ae Jens Axboe      2016-11-09  50  		  __entry->name, __entry->rmean, __entry->rmin, __entry->rmax,
e34cbd307477ae Jens Axboe      2016-11-09  51  		  __entry->rnr_samples, __entry->wmean, __entry->wmin,
e34cbd307477ae Jens Axboe      2016-11-09  52  		  __entry->wmax, __entry->wnr_samples)
e34cbd307477ae Jens Axboe      2016-11-09  53  );
e34cbd307477ae Jens Axboe      2016-11-09  54  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 43284 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-02-06  7:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-05 21:55 [PATCH v2] tracepoints: Do not punish non static call users Steven Rostedt
2021-02-06  6:16 ` kernel test robot
2021-02-06  6:58 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).