* [android-common:android12-5.10 1/1] include/linux/tracepoint.h:325:20: error: '__tracepoint_sched_stat_wait' undeclared here (not in a function); did you mean '__tracepoint_sched_swap_numa'?
@ 2021-06-01 22:36 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-06-01 22:36 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 27444 bytes --]
tree: https://android.googlesource.com/kernel/common android12-5.10
head: a6bb1af39d11ef0360cb34bb31b7224ca4db031f
commit: a6bb1af39d11ef0360cb34bb31b7224ca4db031f [1/1] ANDROID: vendor_hooks: Export the tracepoints sched_stat_iowait, sched_stat_blocked, sched_stat_wait to let modules probe them
config: arm-ezx_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.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
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android12-5.10
git checkout a6bb1af39d11ef0360cb34bb31b7224ca4db031f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
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/linux/linkage.h:7,
from arch/arm/include/asm/bug.h:5,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/current.h:5,
from ./arch/arm/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from include/linux/sched/numa_balancing.h:10,
from include/trace/events/sched.h:8,
from kernel/sched/core.c:10:
>> include/linux/tracepoint.h:325:20: error: '__tracepoint_sched_stat_wait' undeclared here (not in a function); did you mean '__tracepoint_sched_swap_numa'?
325 | EXPORT_SYMBOL_GPL(__tracepoint_##name); \
| ^~~~~~~~~~~~~
include/linux/export.h:125:16: note: in definition of macro '___EXPORT_SYMBOL'
125 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:187:34: note: in expansion of macro '__EXPORT_SYMBOL'
187 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:191:33: note: in expansion of macro '_EXPORT_SYMBOL'
191 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
include/linux/tracepoint.h:325:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
325 | EXPORT_SYMBOL_GPL(__tracepoint_##name); \
| ^~~~~~~~~~~~~~~~~
kernel/sched/core.c:48:1: note: in expansion of macro 'EXPORT_TRACEPOINT_SYMBOL_GPL'
48 | EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_wait);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/tracepoint.h:326:20: error: '__traceiter_sched_stat_wait' undeclared here (not in a function); did you mean '__tracepoint_sched_stat_wait'?
326 | EXPORT_SYMBOL_GPL(__traceiter_##name); \
| ^~~~~~~~~~~~
include/linux/export.h:125:16: note: in definition of macro '___EXPORT_SYMBOL'
125 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:187:34: note: in expansion of macro '__EXPORT_SYMBOL'
187 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:191:33: note: in expansion of macro '_EXPORT_SYMBOL'
191 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
include/linux/tracepoint.h:326:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
326 | EXPORT_SYMBOL_GPL(__traceiter_##name); \
| ^~~~~~~~~~~~~~~~~
kernel/sched/core.c:48:1: note: in expansion of macro 'EXPORT_TRACEPOINT_SYMBOL_GPL'
48 | EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_wait);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/static_call_types.h:9:33: error: '__SCK__tp_func_sched_stat_wait' undeclared here (not in a function); did you mean '__SCK__tp_func_sched_swap_numa'?
9 | #define STATIC_CALL_KEY_PREFIX __SCK__
| ^~~~~~~
include/linux/export.h:125:16: note: in definition of macro '___EXPORT_SYMBOL'
125 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:187:34: note: in expansion of macro '__EXPORT_SYMBOL'
187 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:191:33: note: in expansion of macro '_EXPORT_SYMBOL'
191 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
include/linux/static_call.h:291:38: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
291 | #define EXPORT_STATIC_CALL_GPL(name) EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name))
| ^~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:60:22: note: in expansion of macro '___PASTE'
60 | #define __PASTE(a,b) ___PASTE(a,b)
| ^~~~~~~~
include/linux/static_call_types.h:12:32: note: in expansion of macro '__PASTE'
12 | #define STATIC_CALL_KEY(name) __PASTE(STATIC_CALL_KEY_PREFIX, name)
| ^~~~~~~
include/linux/static_call_types.h:12:40: note: in expansion of macro 'STATIC_CALL_KEY_PREFIX'
12 | #define STATIC_CALL_KEY(name) __PASTE(STATIC_CALL_KEY_PREFIX, name)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/static_call.h:291:56: note: in expansion of macro 'STATIC_CALL_KEY'
291 | #define EXPORT_STATIC_CALL_GPL(name) EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name))
| ^~~~~~~~~~~~~~~
include/linux/tracepoint.h:327:2: note: in expansion of macro 'EXPORT_STATIC_CALL_GPL'
327 | EXPORT_STATIC_CALL_GPL(tp_func_##name)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:48:1: note: in expansion of macro 'EXPORT_TRACEPOINT_SYMBOL_GPL'
48 | EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_wait);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/tracepoint.h:325:20: error: '__tracepoint_sched_stat_iowait' undeclared here (not in a function); did you mean '__tracepoint_sched_stat_wait'?
325 | EXPORT_SYMBOL_GPL(__tracepoint_##name); \
| ^~~~~~~~~~~~~
include/linux/export.h:125:16: note: in definition of macro '___EXPORT_SYMBOL'
125 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:187:34: note: in expansion of macro '__EXPORT_SYMBOL'
187 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:191:33: note: in expansion of macro '_EXPORT_SYMBOL'
191 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
include/linux/tracepoint.h:325:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
325 | EXPORT_SYMBOL_GPL(__tracepoint_##name); \
| ^~~~~~~~~~~~~~~~~
kernel/sched/core.c:49:1: note: in expansion of macro 'EXPORT_TRACEPOINT_SYMBOL_GPL'
49 | EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_iowait);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/tracepoint.h:326:20: error: '__traceiter_sched_stat_iowait' undeclared here (not in a function); did you mean '__traceiter_sched_stat_wait'?
326 | EXPORT_SYMBOL_GPL(__traceiter_##name); \
| ^~~~~~~~~~~~
include/linux/export.h:125:16: note: in definition of macro '___EXPORT_SYMBOL'
125 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:187:34: note: in expansion of macro '__EXPORT_SYMBOL'
187 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:191:33: note: in expansion of macro '_EXPORT_SYMBOL'
191 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
include/linux/tracepoint.h:326:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
326 | EXPORT_SYMBOL_GPL(__traceiter_##name); \
| ^~~~~~~~~~~~~~~~~
kernel/sched/core.c:49:1: note: in expansion of macro 'EXPORT_TRACEPOINT_SYMBOL_GPL'
49 | EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_iowait);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/static_call_types.h:9:33: error: '__SCK__tp_func_sched_stat_iowait' undeclared here (not in a function); did you mean '__SCK__tp_func_sched_stat_wait'?
9 | #define STATIC_CALL_KEY_PREFIX __SCK__
| ^~~~~~~
include/linux/export.h:125:16: note: in definition of macro '___EXPORT_SYMBOL'
125 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:187:34: note: in expansion of macro '__EXPORT_SYMBOL'
187 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:191:33: note: in expansion of macro '_EXPORT_SYMBOL'
191 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
include/linux/static_call.h:291:38: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
291 | #define EXPORT_STATIC_CALL_GPL(name) EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name))
| ^~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:60:22: note: in expansion of macro '___PASTE'
60 | #define __PASTE(a,b) ___PASTE(a,b)
| ^~~~~~~~
include/linux/static_call_types.h:12:32: note: in expansion of macro '__PASTE'
12 | #define STATIC_CALL_KEY(name) __PASTE(STATIC_CALL_KEY_PREFIX, name)
| ^~~~~~~
include/linux/static_call_types.h:12:40: note: in expansion of macro 'STATIC_CALL_KEY_PREFIX'
12 | #define STATIC_CALL_KEY(name) __PASTE(STATIC_CALL_KEY_PREFIX, name)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/static_call.h:291:56: note: in expansion of macro 'STATIC_CALL_KEY'
291 | #define EXPORT_STATIC_CALL_GPL(name) EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name))
| ^~~~~~~~~~~~~~~
include/linux/tracepoint.h:327:2: note: in expansion of macro 'EXPORT_STATIC_CALL_GPL'
327 | EXPORT_STATIC_CALL_GPL(tp_func_##name)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:49:1: note: in expansion of macro 'EXPORT_TRACEPOINT_SYMBOL_GPL'
49 | EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_iowait);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/tracepoint.h:325:20: error: '__tracepoint_sched_stat_blocked' undeclared here (not in a function); did you mean '__tracepoint_sched_stat_iowait'?
325 | EXPORT_SYMBOL_GPL(__tracepoint_##name); \
| ^~~~~~~~~~~~~
include/linux/export.h:125:16: note: in definition of macro '___EXPORT_SYMBOL'
125 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:187:34: note: in expansion of macro '__EXPORT_SYMBOL'
187 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:191:33: note: in expansion of macro '_EXPORT_SYMBOL'
191 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
include/linux/tracepoint.h:325:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
325 | EXPORT_SYMBOL_GPL(__tracepoint_##name); \
| ^~~~~~~~~~~~~~~~~
kernel/sched/core.c:50:1: note: in expansion of macro 'EXPORT_TRACEPOINT_SYMBOL_GPL'
50 | EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_blocked);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/tracepoint.h:326:20: error: '__traceiter_sched_stat_blocked' undeclared here (not in a function); did you mean '__tracepoint_sched_stat_blocked'?
326 | EXPORT_SYMBOL_GPL(__traceiter_##name); \
| ^~~~~~~~~~~~
include/linux/export.h:125:16: note: in definition of macro '___EXPORT_SYMBOL'
125 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:187:34: note: in expansion of macro '__EXPORT_SYMBOL'
187 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:191:33: note: in expansion of macro '_EXPORT_SYMBOL'
191 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
include/linux/tracepoint.h:326:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
326 | EXPORT_SYMBOL_GPL(__traceiter_##name); \
| ^~~~~~~~~~~~~~~~~
kernel/sched/core.c:50:1: note: in expansion of macro 'EXPORT_TRACEPOINT_SYMBOL_GPL'
50 | EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_blocked);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/static_call_types.h:9:33: error: '__SCK__tp_func_sched_stat_blocked' undeclared here (not in a function); did you mean '__SCK__tp_func_sched_stat_iowait'?
9 | #define STATIC_CALL_KEY_PREFIX __SCK__
| ^~~~~~~
include/linux/export.h:125:16: note: in definition of macro '___EXPORT_SYMBOL'
125 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:187:34: note: in expansion of macro '__EXPORT_SYMBOL'
187 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:191:33: note: in expansion of macro '_EXPORT_SYMBOL'
191 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
include/linux/static_call.h:291:38: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
291 | #define EXPORT_STATIC_CALL_GPL(name) EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name))
| ^~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:60:22: note: in expansion of macro '___PASTE'
60 | #define __PASTE(a,b) ___PASTE(a,b)
| ^~~~~~~~
include/linux/static_call_types.h:12:32: note: in expansion of macro '__PASTE'
12 | #define STATIC_CALL_KEY(name) __PASTE(STATIC_CALL_KEY_PREFIX, name)
| ^~~~~~~
include/linux/static_call_types.h:12:40: note: in expansion of macro 'STATIC_CALL_KEY_PREFIX'
12 | #define STATIC_CALL_KEY(name) __PASTE(STATIC_CALL_KEY_PREFIX, name)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/static_call.h:291:56: note: in expansion of macro 'STATIC_CALL_KEY'
291 | #define EXPORT_STATIC_CALL_GPL(name) EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name))
| ^~~~~~~~~~~~~~~
include/linux/tracepoint.h:327:2: note: in expansion of macro 'EXPORT_STATIC_CALL_GPL'
327 | EXPORT_STATIC_CALL_GPL(tp_func_##name)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:50:1: note: in expansion of macro 'EXPORT_TRACEPOINT_SYMBOL_GPL'
50 | EXPORT_TRACEPOINT_SYMBOL_GPL(sched_stat_blocked);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c: In function 'ttwu_stat':
kernel/sched/core.c:2600:13: warning: variable 'rq' set but not used [-Wunused-but-set-variable]
2600 | struct rq *rq;
| ^~
vim +325 include/linux/tracepoint.h
7ece55a4a3a04a Josh Triplett 2012-09-04 221
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 222 /*
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 223 * Make sure the alignment of the structure in the __tracepoints section will
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 224 * not add unwanted padding between the beginning of the section and the
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 225 * structure. Force alignment to the same alignment as the section start.
3a630178fd5f30 Dave Hansen 2014-08-07 226 *
3a630178fd5f30 Dave Hansen 2014-08-07 227 * When lockdep is enabled, we make sure to always do the RCU portions of
a15920bea0428c Mathieu Desnoyers 2015-11-02 228 * the tracepoint code, regardless of whether tracing is on. However,
a15920bea0428c Mathieu Desnoyers 2015-11-02 229 * don't check if the condition is false, due to interaction with idle
a15920bea0428c Mathieu Desnoyers 2015-11-02 230 * instrumentation. This lets us find RCU issues triggered with tracepoints
a15920bea0428c Mathieu Desnoyers 2015-11-02 231 * even when this tracepoint is off. This code has no purpose other than
a15920bea0428c Mathieu Desnoyers 2015-11-02 232 * poking RCU a bit.
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 233 */
287050d3902644 Steven Rostedt 2010-12-02 234 #define __DECLARE_TRACE(name, proto, args, cond, data_proto, data_args) \
de394e7568ce2c peterz(a)infradead.org 2020-09-08 235 extern int __traceiter_##name(data_proto); \
de394e7568ce2c peterz(a)infradead.org 2020-09-08 236 DECLARE_STATIC_CALL(tp_func_##name, __traceiter_##name); \
7e066fb870fcd1 Mathieu Desnoyers 2008-11-14 237 extern struct tracepoint __tracepoint_##name; \
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 238 static inline void trace_##name(proto) \
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 239 { \
c5905afb0ee655 Ingo Molnar 2012-02-24 240 if (static_key_false(&__tracepoint_##name.key)) \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 241) __DO_TRACE(name, \
38516ab59fbc5b Steven Rostedt 2010-04-20 242 TP_PROTO(data_proto), \
287050d3902644 Steven Rostedt 2010-12-02 243 TP_ARGS(data_args), \
d54b6eeb553c89 Steven Rostedt (VMware 2017-04-07 244) TP_CONDITION(cond), 0); \
a05d59a5673339 Steven Rostedt (Red Hat 2015-02-06 245) if (IS_ENABLED(CONFIG_LOCKDEP) && (cond)) { \
3a630178fd5f30 Dave Hansen 2014-08-07 246 rcu_read_lock_sched_notrace(); \
3a630178fd5f30 Dave Hansen 2014-08-07 247 rcu_dereference_sched(__tracepoint_##name.funcs);\
3a630178fd5f30 Dave Hansen 2014-08-07 248 rcu_read_unlock_sched_notrace(); \
3a630178fd5f30 Dave Hansen 2014-08-07 249 } \
2fbb90db1b8fcc Steven Rostedt 2012-02-07 250 } \
7ece55a4a3a04a Josh Triplett 2012-09-04 251 __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args), \
7ece55a4a3a04a Josh Triplett 2012-09-04 252 PARAMS(cond), PARAMS(data_proto), PARAMS(data_args)) \
38516ab59fbc5b Steven Rostedt 2010-04-20 253 static inline int \
38516ab59fbc5b Steven Rostedt 2010-04-20 254 register_trace_##name(void (*probe)(data_proto), void *data) \
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 255 { \
de7b2973903c6c Mathieu Desnoyers 2014-04-08 256 return tracepoint_probe_register(&__tracepoint_##name, \
de7b2973903c6c Mathieu Desnoyers 2014-04-08 257 (void *)probe, data); \
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 258 } \
38516ab59fbc5b Steven Rostedt 2010-04-20 259 static inline int \
7904b5c4988e18 Steven Rostedt (Red Hat 2015-09-22 260) register_trace_prio_##name(void (*probe)(data_proto), void *data,\
7904b5c4988e18 Steven Rostedt (Red Hat 2015-09-22 261) int prio) \
7904b5c4988e18 Steven Rostedt (Red Hat 2015-09-22 262) { \
7904b5c4988e18 Steven Rostedt (Red Hat 2015-09-22 263) return tracepoint_probe_register_prio(&__tracepoint_##name, \
7904b5c4988e18 Steven Rostedt (Red Hat 2015-09-22 264) (void *)probe, data, prio); \
7904b5c4988e18 Steven Rostedt (Red Hat 2015-09-22 265) } \
7904b5c4988e18 Steven Rostedt (Red Hat 2015-09-22 266) static inline int \
38516ab59fbc5b Steven Rostedt 2010-04-20 267 unregister_trace_##name(void (*probe)(data_proto), void *data) \
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 268 { \
de7b2973903c6c Mathieu Desnoyers 2014-04-08 269 return tracepoint_probe_unregister(&__tracepoint_##name,\
de7b2973903c6c Mathieu Desnoyers 2014-04-08 270 (void *)probe, data); \
53da59aa6dd881 Mathieu Desnoyers 2010-04-30 271 } \
38516ab59fbc5b Steven Rostedt 2010-04-20 272 static inline void \
38516ab59fbc5b Steven Rostedt 2010-04-20 273 check_trace_callback_type_##name(void (*cb)(data_proto)) \
53da59aa6dd881 Mathieu Desnoyers 2010-04-30 274 { \
7c65bbc7dcface Steven Rostedt (Red Hat 2014-05-06 275) } \
7c65bbc7dcface Steven Rostedt (Red Hat 2014-05-06 276) static inline bool \
7c65bbc7dcface Steven Rostedt (Red Hat 2014-05-06 277) trace_##name##_enabled(void) \
7c65bbc7dcface Steven Rostedt (Red Hat 2014-05-06 278) { \
7c65bbc7dcface Steven Rostedt (Red Hat 2014-05-06 279) return static_key_false(&__tracepoint_##name.key); \
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 280 }
97e1c18e8d17bd Mathieu Desnoyers 2008-07-18 281
654986462939cd Mathieu Desnoyers 2011-01-26 282 /*
654986462939cd Mathieu Desnoyers 2011-01-26 283 * We have no guarantee that gcc and the linker won't up-align the tracepoint
654986462939cd Mathieu Desnoyers 2011-01-26 284 * structures, so we create an array of pointers that will be used for iteration
654986462939cd Mathieu Desnoyers 2011-01-26 285 * on the tracepoints.
654986462939cd Mathieu Desnoyers 2011-01-26 286 */
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 287) #define DEFINE_TRACE_FN(_name, _reg, _unreg, proto, args) \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 288) static const char __tpstrtab_##_name[] \
33def8498fdde1 Joe Perches 2020-10-21 289 __section("__tracepoints_strings") = #_name; \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 290) extern struct static_call_key STATIC_CALL_KEY(tp_func_##_name); \
de394e7568ce2c peterz(a)infradead.org 2020-09-08 291 int __traceiter_##_name(void *__data, proto); \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 292) struct tracepoint __tracepoint_##_name __used \
33def8498fdde1 Joe Perches 2020-10-21 293 __section("__tracepoints") = { \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 294) .name = __tpstrtab_##_name, \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 295) .key = STATIC_KEY_INIT_FALSE, \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 296) .static_call_key = &STATIC_CALL_KEY(tp_func_##_name), \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 297) .static_call_tramp = STATIC_CALL_TRAMP_ADDR(tp_func_##_name), \
de394e7568ce2c peterz(a)infradead.org 2020-09-08 298 .iterator = &__traceiter_##_name, \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 299) .regfunc = _reg, \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 300) .unregfunc = _unreg, \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 301) .funcs = NULL }; \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 302) __TRACEPOINT_ENTRY(_name); \
de394e7568ce2c peterz(a)infradead.org 2020-09-08 303 int __traceiter_##_name(void *__data, proto) \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 304) { \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 305) struct tracepoint_func *it_func_ptr; \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 306) void *it_func; \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 307) \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 308) it_func_ptr = \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 309) rcu_dereference_raw((&__tracepoint_##_name)->funcs); \
059e68da31b024 Alexey Kardashevskiy 2021-02-02 310 if (it_func_ptr) { \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 311) do { \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 312) it_func = (it_func_ptr)->func; \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 313) __data = (it_func_ptr)->data; \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 314) ((void(*)(void *, proto))(it_func))(__data, args); \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 315) } while ((++it_func_ptr)->func); \
059e68da31b024 Alexey Kardashevskiy 2021-02-02 316 } \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 317) return 0; \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 318) } \
de394e7568ce2c peterz(a)infradead.org 2020-09-08 319 DEFINE_STATIC_CALL(tp_func_##_name, __traceiter_##_name);
97419875865859 Josh Stone 2009-08-24 320
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 321) #define DEFINE_TRACE(name, proto, args) \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 322) DEFINE_TRACE_FN(name, NULL, NULL, PARAMS(proto), PARAMS(args));
7e066fb870fcd1 Mathieu Desnoyers 2008-11-14 323
7e066fb870fcd1 Mathieu Desnoyers 2008-11-14 324 #define EXPORT_TRACEPOINT_SYMBOL_GPL(name) \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 @325) EXPORT_SYMBOL_GPL(__tracepoint_##name); \
de394e7568ce2c peterz(a)infradead.org 2020-09-08 @326 EXPORT_SYMBOL_GPL(__traceiter_##name); \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 327) EXPORT_STATIC_CALL_GPL(tp_func_##name)
7e066fb870fcd1 Mathieu Desnoyers 2008-11-14 328 #define EXPORT_TRACEPOINT_SYMBOL(name) \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 329) EXPORT_SYMBOL(__tracepoint_##name); \
de394e7568ce2c peterz(a)infradead.org 2020-09-08 330 EXPORT_SYMBOL(__traceiter_##name); \
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 331) EXPORT_STATIC_CALL(tp_func_##name)
d25e37d89dd2f4 Steven Rostedt (VMware 2020-08-18 332)
7e066fb870fcd1 Mathieu Desnoyers 2008-11-14 333
:::::: The code at line 325 was first introduced by commit
:::::: d25e37d89dd2f41d7acae0429039d2f0ae8b4a07 tracepoint: Optimize using static_call()
:::::: TO: Steven Rostedt (VMware) <rostedt@goodmis.org>
:::::: CC: Ingo Molnar <mingo@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 24702 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-06-01 22:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-01 22:36 [android-common:android12-5.10 1/1] include/linux/tracepoint.h:325:20: error: '__tracepoint_sched_stat_wait' undeclared here (not in a function); did you mean '__tracepoint_sched_swap_numa'? kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.