Diffstat (limited to 'samples')
2 files changed, 40 insertions, 24 deletions
diff --git a/samples/trace_events/Makefile b/samples/trace_events/Makefile
index 0d428dc67283..0f8d92120c4e 100644
@@ -1,6 +1,14 @@
# builds the trace events example kernel modules;
# then to use one (as root): insmod <module_name.ko>
+# If you include a trace header outside of include/trace/events
+# then the file that does the #define CREATE_TRACE_POINTS must
+# have that tracer file in its main search path. This is because
+# define_trace.h will include it, and must be able to find it from
+# the include/trace directory.
+# Here trace-events-sample.c does the CREATE_TRACE_POINTS.
CFLAGS_trace-events-sample.o := -I$(src)
obj-$(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
@@ -1,4 +1,30 @@
+ * If TRACE_SYSTEM is defined, that will be the directory created
+ * in the ftrace directory under /debugfs/tracing/events/<system>
+ * The define_trace.h below will also look for a file name of
+ * TRACE_SYSTEM.h where TRACE_SYSTEM is what is defined here.
+ * In this case, it would look for sample.h
+ * If the header name will be different than the system name
+ * (as in this case), then you can override the header name that
+ * define_trace.h will look up by defining TRACE_INCLUDE_FILE
+ * This file is called trace-events-sample.h but we want the system
+ * to be called "sample". Therefore we must define the name of this
+ * file:
+ * #define TRACE_INCLUDE_FILE trace-events-sample
+ * As we do an the bottom of this file.
+ * Notice that TRACE_SYSTEM should be defined outside of #if
+ * protection, just like TRACE_INCLUDE_FILE.
+#define TRACE_SYSTEM sample
* Notice that this file is not protected like a normal header.
* We also must allow for rereading of this file. The
@@ -16,24 +42,6 @@
- * If TRACE_SYSTEM is defined, that will be the directory created
- * in the ftrace directory under /debugfs/tracing/events/<system>
- * The define_trace.h belowe will also look for a file name of
- * TRACE_SYSTEM.h where TRACE_SYSTEM is what is defined here.
- * If you want a different system than file name, you can override
- * the header name by defining TRACE_INCLUDE_FILE
- * If this file was called, goofy.h, then we would define:
- * #define TRACE_INCLUDE_FILE goofy
-#define TRACE_SYSTEM sample
* The TRACE_EVENT macro is broken up into 5 parts.
* name: name of the trace point. This is also how to enable the tracepoint.
@@ -99,13 +107,13 @@ TRACE_EVENT(foo_bar,
* #define TRACE_INCLUDE_PATH ../../samples/trace_events
- * But I chose to simply make it use the current directory and then in
- * the Makefile I added:
+ * But the safest and easiest way to simply make it use the directory
+ * that the file is in is to add in the Makefile:
- * CFLAGS_trace-events-sample.o := -I$(PWD)/samples/trace_events/
+ * CFLAGS_trace-events-sample.o := -I$(src)
* This will make sure the current path is part of the include
- * structure for our file so that we can find it.
+ * structure for our file so that define_trace.h can find it.
* I could have made only the top level directory the include:
@@ -115,8 +123,8 @@ TRACE_EVENT(foo_bar,
* #define TRACE_INCLUDE_PATH samples/trace_events
- * But then if something defines "samples" or "trace_events" then we
- * could risk that being converted too, and give us an unexpected
+ * But then if something defines "samples" or "trace_events" as a macro
+ * then we could risk that being converted too, and give us an unexpected