X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=README;h=1fd49b68dea49d650b394c064a4c43f73a5bbabe;hb=0ec73ddce557ac36a2782a726ab5a00663c2e50d;hp=97c96f6305336366c39f064d150af101bbd8cae8;hpb=14a8117ffda897ab50e9cbe5d3c1e1d34fcb9f2d;p=lttng-modules.git diff --git a/README b/README index 97c96f63..1fd49b68 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ LTTng 2.0 modules Mathieu Desnoyers -July 19, 2011 +February 8, 2012 LTTng 2.0 kernel modules build against a vanilla or distribution kernel, without need for additional patches. Other features: @@ -9,7 +9,7 @@ need for additional patches. Other features: - Produces CTF (Common Trace Format) natively, (http://www.efficios.com/ctf) - Tracepoints, Function tracer, CPU Performance Monitoring Unit (PMU) - counters and kprobes support, + counters, kprobes, and kretprobes support, - Integrated interface for both kernel and userspace tracing, - Have the ability to attach "context" information to events in the trace (e.g. any PMU counter, pid, ppid, tid, comm name, etc). @@ -22,27 +22,37 @@ access to your full kernel source tree), and use: % make # make modules_install +# depmod -a If you need to specify the target directory to the kernel you want to build against, use: % KERNELDIR=path_to_kernel_dir make # KERNELDIR=path_to_kernel_dir make modules_install +# depmod -a kernel_version Use lttng-tools to control the tracer. LTTng tools should automatically load the kernel modules when needed. Use Babeltrace to print traces as a 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-rc7 -(on x86 at the moment). 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 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. + +LTTng-modules depends on having kallsyms enabled in the kernel it is +built against. Ideally, if you want to have system call tracing, the +"Trace Syscalls" feature should be enabled too. + +* Note about Perf PMU counters support + +Each PMU counter has its zero value set when it is attached to a context with +add-context. Therefore, it is normal that the same counters attached to both the +stream context and event context show different values for a given event; what +matters is that they increment at the same rate.