lib ring buffer must take private pointer copy before decrementing refcount
[lttng-modules.git] / README
CommitLineData
98541fcf
MD
1LTTng 2.0 modules
2
3Mathieu Desnoyers
4July 19, 2011
5
6LTTng 2.0 kernel modules build against a vanilla or distribution kernel, without
7need for additional patches. Other features:
8
9- Produces CTF (Common Trace Format) natively,
10 (http://www.efficios.com/ctf)
fe178379 11- Tracepoints, Function tracer, CPU Performance Monitoring Unit (PMU)
e5fb2910 12 counters, kprobes, and kretprobes support,
98541fcf
MD
13- Integrated interface for both kernel and userspace tracing,
14- Have the ability to attach "context" information to events in the
fe178379
MD
15 trace (e.g. any PMU counter, pid, ppid, tid, comm name, etc).
16 All the extra information fields to be collected with events are
17 optional, specified on a per-tracing-session basis (except for
18 timestamp and event id, which are mandatory).
98541fcf
MD
19
20To build and install, you will need to have your kernel headers available (or
21access to your full kernel source tree), and use:
22
6b408629
MD
23% make
24# make modules_install
98541fcf
MD
25
26If you need to specify the target directory to the kernel you want to build
27against, use:
28
6b408629
MD
29% KERNELDIR=path_to_kernel_dir make
30# KERNELDIR=path_to_kernel_dir make modules_install
98541fcf 31
6b408629
MD
32Use lttng-tools to control the tracer. LTTng tools should automatically load
33the kernel modules when needed. Use Babeltrace to print traces as a
34human-readable text log. These tools are available at the following URL:
35http://lttng.org/lttng2.0
bd2fc8af
MD
36
37Please note that the LTTng-UST 2.0 (user-space tracing counterpart of LTTng 2.0)
38is still in active development and not released yet.
98541fcf 39
3da843ea
MD
40So far, it has been tested on vanilla Linux kernels 2.6.38, 2.6.39 and 3.0 (on
41x86 32/64-bit, and powerpc 32-bit at the moment, build tested on ARM). It should
42work fine with newer kernels and other architectures, but expect build issues
43with kernels older than 2.6.36. The clock source currently used is the standard
44gettimeofday (slower, less scalable and less precise than the LTTng 0.x clocks).
45Support for LTTng 0.x clocks will be added back soon into LTTng 2.0. Please
46note that lttng-modules 2.0 can build on a Linux kernel patched with the LTTng
470.x patchset, but the lttng-modules 2.0 replace the lttng-modules 0.x, so both
c65998d6 48tracers cannot be installed at the same time for a given kernel version.
a3a8ea22
MD
49
50* Note about Perf PMU counters support
51
52Each PMU counter has its zero value set when it is attached to a context with
53add-context. Therefore, it is normal that the same counters attached to both the
54stream context and event context show different values for a given event; what
55matters is that they increment at the same rate.
This page took 0.025025 seconds and 4 git commands to generate.