mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 23:34:05 +08:00
tracing: Allow disabling compilation of specific trace systems
Allow a trace events header file to disable compilation of its trace events by defining the preprocessor macro NOTRACE. This could be done, for example, according to a Kconfig option. Link: http://lkml.kernel.org/r/1438432079-11704-3-git-send-email-tal.shorer@gmail.com Signed-off-by: Tal Shorer <tal.shorer@gmail.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
b86d9371be
commit
c63b7682b6
@ -111,7 +111,18 @@ extern void syscall_unregfunc(void);
|
|||||||
#define TP_ARGS(args...) args
|
#define TP_ARGS(args...) args
|
||||||
#define TP_CONDITION(args...) args
|
#define TP_CONDITION(args...) args
|
||||||
|
|
||||||
#ifdef CONFIG_TRACEPOINTS
|
/*
|
||||||
|
* Individual subsystem my have a separate configuration to
|
||||||
|
* enable their tracepoints. By default, this file will create
|
||||||
|
* the tracepoints if CONFIG_TRACEPOINT is defined. If a subsystem
|
||||||
|
* wants to be able to disable its tracepoints from being created
|
||||||
|
* it can define NOTRACE before including the tracepoint headers.
|
||||||
|
*/
|
||||||
|
#if defined(CONFIG_TRACEPOINTS) && !defined(NOTRACE)
|
||||||
|
#define TRACEPOINTS_ENABLED
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TRACEPOINTS_ENABLED
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* it_func[0] is never NULL because there is at least one element in the array
|
* it_func[0] is never NULL because there is at least one element in the array
|
||||||
@ -234,7 +245,7 @@ extern void syscall_unregfunc(void);
|
|||||||
#define EXPORT_TRACEPOINT_SYMBOL(name) \
|
#define EXPORT_TRACEPOINT_SYMBOL(name) \
|
||||||
EXPORT_SYMBOL(__tracepoint_##name)
|
EXPORT_SYMBOL(__tracepoint_##name)
|
||||||
|
|
||||||
#else /* !CONFIG_TRACEPOINTS */
|
#else /* !TRACEPOINTS_ENABLED */
|
||||||
#define __DECLARE_TRACE(name, proto, args, cond, data_proto, data_args) \
|
#define __DECLARE_TRACE(name, proto, args, cond, data_proto, data_args) \
|
||||||
static inline void trace_##name(proto) \
|
static inline void trace_##name(proto) \
|
||||||
{ } \
|
{ } \
|
||||||
@ -266,7 +277,7 @@ extern void syscall_unregfunc(void);
|
|||||||
#define EXPORT_TRACEPOINT_SYMBOL_GPL(name)
|
#define EXPORT_TRACEPOINT_SYMBOL_GPL(name)
|
||||||
#define EXPORT_TRACEPOINT_SYMBOL(name)
|
#define EXPORT_TRACEPOINT_SYMBOL(name)
|
||||||
|
|
||||||
#endif /* CONFIG_TRACEPOINTS */
|
#endif /* TRACEPOINTS_ENABLED */
|
||||||
|
|
||||||
#ifdef CONFIG_TRACING
|
#ifdef CONFIG_TRACING
|
||||||
/**
|
/**
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
#undef DECLARE_TRACE
|
#undef DECLARE_TRACE
|
||||||
#define DECLARE_TRACE(name, proto, args)
|
#define DECLARE_TRACE(name, proto, args)
|
||||||
|
|
||||||
#ifdef CONFIG_EVENT_TRACING
|
#ifdef TRACEPOINTS_ENABLED
|
||||||
#include <trace/trace_events.h>
|
#include <trace/trace_events.h>
|
||||||
#include <trace/perf.h>
|
#include <trace/perf.h>
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user