Documentation/trace: Correcting and extending tracepoint documentation
The sample missed the moving of the header files into the events subdirectory. I've also extended it based on the existing headers, and mentioned the tiny but important role of CREATE_TRACE_POINTS. Signed-off-by: Zoltan Kiss <zoltan.kiss@citrix.com> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
59e68a181a
commit
fd8176e32a
|
@ -40,7 +40,13 @@ Two elements are required for tracepoints :
|
|||
|
||||
In order to use tracepoints, you should include linux/tracepoint.h.
|
||||
|
||||
In include/trace/subsys.h :
|
||||
In include/trace/events/subsys.h :
|
||||
|
||||
#undef TRACE_SYSTEM
|
||||
#define TRACE_SYSTEM subsys
|
||||
|
||||
#if !defined(_TRACE_SUBSYS_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_SUBSYS_H
|
||||
|
||||
#include <linux/tracepoint.h>
|
||||
|
||||
|
@ -48,10 +54,16 @@ DECLARE_TRACE(subsys_eventname,
|
|||
TP_PROTO(int firstarg, struct task_struct *p),
|
||||
TP_ARGS(firstarg, p));
|
||||
|
||||
#endif /* _TRACE_SUBSYS_H */
|
||||
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
In subsys/file.c (where the tracing statement must be added) :
|
||||
|
||||
#include <trace/subsys.h>
|
||||
#include <trace/events/subsys.h>
|
||||
|
||||
#define CREATE_TRACE_POINTS
|
||||
DEFINE_TRACE(subsys_eventname);
|
||||
|
||||
void somefct(void)
|
||||
|
@ -72,6 +84,9 @@ Where :
|
|||
- TP_ARGS(firstarg, p) are the parameters names, same as found in the
|
||||
prototype.
|
||||
|
||||
- if you use the header in multiple source files, #define CREATE_TRACE_POINTS
|
||||
should appear only in one source file.
|
||||
|
||||
Connecting a function (probe) to a tracepoint is done by providing a
|
||||
probe (function to call) for the specific tracepoint through
|
||||
register_trace_subsys_eventname(). Removing a probe is done through
|
||||
|
|
Loading…
Reference in New Issue