From 3c46c44027a86fc8a008a6096b0e5b8f5a4afcb5 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Mon, 28 Nov 2011 07:42:25 -0500 Subject: [PATCH] lttng: toplevel Makefile and Kconfig Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman --- drivers/staging/lttng/Kconfig | 35 ++++++++++++++++++++++++++++++++++ drivers/staging/lttng/Makefile | 33 ++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 drivers/staging/lttng/Kconfig create mode 100644 drivers/staging/lttng/Makefile diff --git a/drivers/staging/lttng/Kconfig b/drivers/staging/lttng/Kconfig new file mode 100644 index 000000000000..34c4a4f762ea --- /dev/null +++ b/drivers/staging/lttng/Kconfig @@ -0,0 +1,35 @@ +config LTTNG + tristate "LTTng kernel tracer" + depends on TRACEPOINTS + help + The LTTng 2.0 Tracer Toolchain allows integrated kernel and + user-space tracing from a single user interface: the "lttng" + command. See http://lttng.org website for the "lttng-tools" + user-space tracer control tools package and the "babeltrace" + package for conversion of trace data to a human-readable + format. + + LTTng features: + - System-wide tracing across kernel, libraries and + applications, + - Tracepoints, detailed syscall tracing (fast strace replacement), + Function tracer, CPU Performance Monitoring Unit (PMU) counters + and kprobes support, + - Have the ability to attach "context" information to events in the + trace (e.g. any PMU counter, pid, ppid, tid, comm name, etc). All + the extra information fields to be collected with events are + optional, specified on a per-tracing-session basis (except for + timestamp and event id, which are mandatory). + - Precise and fast clock sources with near cycle-level + timestamps, + - Efficient trace data transport: + - Compact Binary format with CTF, + - Per-core buffers ensures scalability, + - Fast-paths in caller context, amortized synchronization, + - Zero-copy using splice and mmap system calls, over disk, + network or consumed in-place, + - Multiple concurrent tracing sessions are supported, + - Designed to meet hard real-time constraints, + - Supports live streaming of the trace data, + - Produces CTF (Common Trace Format) natively (see + http://www.efficios.com/ctf). diff --git a/drivers/staging/lttng/Makefile b/drivers/staging/lttng/Makefile new file mode 100644 index 000000000000..9ad4eb0e3972 --- /dev/null +++ b/drivers/staging/lttng/Makefile @@ -0,0 +1,33 @@ +# +# Makefile for the LTTng modules. +# + +obj-m += ltt-ring-buffer-client-discard.o +obj-m += ltt-ring-buffer-client-overwrite.o +obj-m += ltt-ring-buffer-metadata-client.o +obj-m += ltt-ring-buffer-client-mmap-discard.o +obj-m += ltt-ring-buffer-client-mmap-overwrite.o +obj-m += ltt-ring-buffer-metadata-mmap-client.o + +obj-m += ltt-relay.o +ltt-relay-objs := ltt-events.o ltt-debugfs-abi.o \ + ltt-probes.o ltt-context.o \ + lttng-context-pid.o lttng-context-procname.o \ + lttng-context-prio.o lttng-context-nice.o \ + lttng-context-vpid.o lttng-context-tid.o \ + lttng-context-vtid.o lttng-context-ppid.o \ + lttng-context-vppid.o lttng-calibrate.o + +ifneq ($(CONFIG_HAVE_SYSCALL_TRACEPOINTS),) +ltt-relay-objs += lttng-syscalls.o +endif + +ifneq ($(CONFIG_PERF_EVENTS),) +ltt-relay-objs += $(shell \ + if [ $(VERSION) -ge 3 \ + -o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -ge 6 -a $(SUBLEVEL) -ge 33 \) ] ; then \ + echo "lttng-context-perf-counters.o" ; fi;) +endif + +obj-m += probes/ +obj-m += lib/ -- 2.34.1