aboutsummaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
Diffstat (limited to 'samples')
-rw-r--r--samples/trace_events/Makefile8
-rw-r--r--samples/trace_events/trace-events-sample.h56
2 files changed, 40 insertions, 24 deletions
diff --git a/samples/trace_events/Makefile b/samples/trace_events/Makefile
index 0d428dc67283..0f8d92120c4e 100644
--- a/samples/trace_events/Makefile
+++ b/samples/trace_events/Makefile
@@ -1,6 +1,14 @@
1# builds the trace events example kernel modules; 1# builds the trace events example kernel modules;
2# then to use one (as root): insmod <module_name.ko> 2# then to use one (as root): insmod <module_name.ko>
3 3
4# If you include a trace header outside of include/trace/events
5# then the file that does the #define CREATE_TRACE_POINTS must
6# have that tracer file in its main search path. This is because
7# define_trace.h will include it, and must be able to find it from
8# the include/trace directory.
9#
10# Here trace-events-sample.c does the CREATE_TRACE_POINTS.
11#
4CFLAGS_trace-events-sample.o := -I$(src) 12CFLAGS_trace-events-sample.o := -I$(src)
5 13
6obj-$(CONFIG_SAMPLE_TRACE_EVENTS) += trace-events-sample.o 14obj-$(CONFIG_SAMPLE_TRACE_EVENTS) += trace-events-sample.o
diff --git a/samples/trace_events/trace-events-sample.h b/samples/trace_events/trace-events-sample.h
index 128a897687c5..f24ae370e514 100644
--- a/samples/trace_events/trace-events-sample.h
+++ b/samples/trace_events/trace-events-sample.h
@@ -1,4 +1,30 @@
1/* 1/*
2 * If TRACE_SYSTEM is defined, that will be the directory created
3 * in the ftrace directory under /debugfs/tracing/events/<system>
4 *
5 * The define_trace.h below will also look for a file name of
6 * TRACE_SYSTEM.h where TRACE_SYSTEM is what is defined here.
7 * In this case, it would look for sample.h
8 *
9 * If the header name will be different than the system name
10 * (as in this case), then you can override the header name that
11 * define_trace.h will look up by defining TRACE_INCLUDE_FILE
12 *
13 * This file is called trace-events-sample.h but we want the system
14 * to be called "sample". Therefore we must define the name of this
15 * file:
16 *
17 * #define TRACE_INCLUDE_FILE trace-events-sample
18 *
19 * As we do an the bottom of this file.
20 *
21 * Notice that TRACE_SYSTEM should be defined outside of #if
22 * protection, just like TRACE_INCLUDE_FILE.
23 */
24#undef TRACE_SYSTEM
25#define TRACE_SYSTEM sample
26
27/*
2 * Notice that this file is not protected like a normal header. 28 * Notice that this file is not protected like a normal header.
3 * We also must allow for rereading of this file. The 29 * We also must allow for rereading of this file. The
4 * 30 *
@@ -16,24 +42,6 @@
16#include <linux/tracepoint.h> 42#include <linux/tracepoint.h>
17 43
18/* 44/*
19 * If TRACE_SYSTEM is defined, that will be the directory created
20 * in the ftrace directory under /debugfs/tracing/events/<system>
21 *
22 * The define_trace.h belowe will also look for a file name of
23 * TRACE_SYSTEM.h where TRACE_SYSTEM is what is defined here.
24 *
25 * If you want a different system than file name, you can override
26 * the header name by defining TRACE_INCLUDE_FILE
27 *
28 * If this file was called, goofy.h, then we would define:
29 *
30 * #define TRACE_INCLUDE_FILE goofy
31 *
32 */
33#undef TRACE_SYSTEM
34#define TRACE_SYSTEM sample
35
36/*
37 * The TRACE_EVENT macro is broken up into 5 parts. 45 * The TRACE_EVENT macro is broken up into 5 parts.
38 * 46 *
39 * name: name of the trace point. This is also how to enable the tracepoint. 47 * name: name of the trace point. This is also how to enable the tracepoint.
@@ -99,13 +107,13 @@ TRACE_EVENT(foo_bar,
99 * 107 *
100 * #define TRACE_INCLUDE_PATH ../../samples/trace_events 108 * #define TRACE_INCLUDE_PATH ../../samples/trace_events
101 * 109 *
102 * But I chose to simply make it use the current directory and then in 110 * But the safest and easiest way to simply make it use the directory
103 * the Makefile I added: 111 * that the file is in is to add in the Makefile:
104 * 112 *
105 * CFLAGS_trace-events-sample.o := -I$(PWD)/samples/trace_events/ 113 * CFLAGS_trace-events-sample.o := -I$(src)
106 * 114 *
107 * This will make sure the current path is part of the include 115 * This will make sure the current path is part of the include
108 * structure for our file so that we can find it. 116 * structure for our file so that define_trace.h can find it.
109 * 117 *
110 * I could have made only the top level directory the include: 118 * I could have made only the top level directory the include:
111 * 119 *
@@ -115,8 +123,8 @@ TRACE_EVENT(foo_bar,
115 * 123 *
116 * #define TRACE_INCLUDE_PATH samples/trace_events 124 * #define TRACE_INCLUDE_PATH samples/trace_events
117 * 125 *
118 * But then if something defines "samples" or "trace_events" then we 126 * But then if something defines "samples" or "trace_events" as a macro
119 * could risk that being converted too, and give us an unexpected 127 * then we could risk that being converted too, and give us an unexpected
120 * result. 128 * result.
121 */ 129 */
122#undef TRACE_INCLUDE_PATH 130#undef TRACE_INCLUDE_PATH