-LTTng 2.0 modules
+LTTng 2.x modules
Mathieu Desnoyers
-July 19, 2011
+March 29, 2013
-LTTng 2.0 kernel modules build against a vanilla or distribution kernel, without
+LTTng 2.x kernel modules build against a vanilla or distribution kernel, without
need for additional patches. Other features:
- Produces CTF (Common Trace Format) natively,
human-readable text log. These tools are available at the following URL:
http://lttng.org/lttng2.0
-Please note that the LTTng-UST 2.0 (user-space tracing counterpart of LTTng 2.0)
-is still in active development and not released yet.
-
-So far, it has been tested on vanilla Linux kernels 2.6.38, 2.6.39 and 3.0 (on
-x86 32/64-bit, and powerpc 32-bit at the moment, build tested on ARM). It should
-work fine with newer kernels and other architectures, but expect build issues
-with kernels older than 2.6.36. The clock source currently used is the standard
-gettimeofday (slower, less scalable and less precise than the LTTng 0.x clocks).
-Support for LTTng 0.x clocks will be added back soon into LTTng 2.0. Please
-note that lttng-modules 2.0 can build on a Linux kernel patched with the LTTng
-0.x patchset, but the lttng-modules 2.0 replace the lttng-modules 0.x, so both
-tracers cannot be installed at the same time for a given kernel version.
+So far, it has been tested on vanilla Linux kernels 2.6.38, 2.6.39, 3.0,
+3.1, 3.2, 3.3 (on x86 32/64-bit, and powerpc 32-bit at the moment, build
+tested on ARM), 3.4, 3.5, 3.8, 3.9-rc on x86 64-bit. Kernels 2.6.32 to
+2.6.34 need up to 3 patches applied (refer to linux-patches within the
+lttng-modules tree). It should work fine with newer kernels and other
+architectures, but expect build issues with kernels older than 2.6.36.
+The clock source currently used is the standard gettimeofday (slower,
+less scalable and less precise than the LTTng 0.x clocks). Support for
+LTTng 0.x clocks will be added back soon into LTTng 2.0.
+
+
+* Kernel config options required
+
+CONFIG_MODULES: required
+ * Kernel modules support.
+CONFIG_KALLSYMS: required
+ * See wrapper/ files. This is necessary until the few required missing
+ symbols are exported to GPL modules from mainline.
+CONFIG_HIGH_RES_TIMERS: required
+ * Needed for LTTng 2.0 clock source.
+CONFIG_TRACEPOINTS: required
+ kernel tracepoint instrumentation
+ * Enabled as side-effect of any of the perf/ftrace/blktrace
+ instrumentation features.
+
+
+* Kernel config options supported (optional)
+
+The following kernel configuration options will affect the features
+available from LTTng:
+
+
+CONFIG_HAVE_SYSCALL_TRACEPOINTS:
+ system call tracing
+ lttng enable-event -k --syscall
+ lttng enable-event -k -a
+CONFIG_PERF_EVENTS:
+ performance counters
+ lttng add-context -t perf:*
+CONFIG_EVENT_TRACING:
+ needed to allow block layer tracing
+CONFIG_KPROBES:
+ Dynamic probe.
+ lttng enable-event -k --probe ...
+CONFIG_KRETPROBES:
+ Dynamic function entry/return probe.
+ lttng enable-event -k --function ...
+
* Note about Perf PMU counters support