[RFC patch 29/41] LTTng menus

Mathieu Desnoyers
2009-03-05T23:28:47Z

[-- Attachment #1: lttng-menus.patch --]
[-- Type: text/plain, Size: 5656 bytes --]

LTTng build Kconfig and makefiles.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
---
ltt/Kconfig | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ltt/Makefile | 14 ++++++
2 files changed, 141 insertions(+)

Index: linux-2.6-lttng/ltt/Kconfig
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6-lttng/ltt/Kconfig 2009-03-05 16:09:08.000000000 -0500
@@ -0,0 +1,127 @@
+menuconfig LTT
+ bool "Linux Trace Toolkit Next Generation (LTTng)"
+ depends on EXPERIMENTAL
+ select MARKERS
+ select TRACEPOINTS
+ default y
+ help
+ It is possible for the kernel to log important events to a trace
+ facility. Doing so enables the use of the generated traces in order
+ to reconstruct the dynamic behavior of the kernel, and hence the
+ whole system.
+
+ The tracing process contains 4 parts :
+ 1) The logging of events by key parts of the kernel.
+ 2) The tracer that keeps the events in a data buffer (uses
+ relay).
+ 3) A trace daemon that interacts with the tracer and is
+ notified every time there is a certain quantity of data to
+ read from the tracer.
+ 4) A trace event data decoder that reads the accumulated data
+ and formats it in a human-readable format.
+
+ If you say Y, the first component will be built into the kernel.
+
+ For more information on kernel tracing, lttctl, lttd or lttv,
+ please check the following address :
+ http://ltt.polymtl.ca
+
+if LTT
+
+config LTT_RELAY_ALLOC
+ def_bool n
+
+config LTT_RELAY_LOCKED
+ tristate "Linux Trace Toolkit Lock-Protected Data Relay"
+ select DEBUG_FS
+ select LTT_RELAY_ALLOC
+ depends on LTT_TRACER
+ default n
+ help
+ Support using the slow spinlock and interrupt disable algorithm to log
+ the data obtained through LTT.
+
+config LTT_RELAY_CHECK_RANDOM_ACCESS
+ bool "Debug check for random access in ltt relay buffers"
+ depends on LTT_RELAY_ALLOC
+ default n
+ help
+ Add checks for random access to LTTng relay buffers. Given those
+ buffers are a linked list, such access are rather slow. Rare accesses
+ are OK; they can be caused by large writes (more than a page large) or
+ by reentrancy (e.g. interrupt nesting over the tracing code).
+
+config LTT_SERIALIZE
+ tristate "Linux Trace Toolkit Serializer"
+ depends on LTT_RELAY_ALLOC
+ default y
+ help
+ Library for serializing information from format string and argument
+ list to the trace buffers.
+
+config LTT_FAST_SERIALIZE
+ tristate "Linux Trace Toolkit Custom Serializer"
+ depends on LTT_RELAY_ALLOC
+ default y
+ help
+ Library for serializing information from custom, efficient, tracepoint
+ probes.
+
+config LTT_TRACE_CONTROL
+ tristate "Linux Trace Toolkit Trace Controller"
+ depends on LTT_TRACER
+ default m
+ help
+ If you enable this option, the debugfs-based Linux Trace Toolkit Trace
+ Controller will be either built in the kernel or as module.
+
+config LTT_TRACER
+ tristate "Linux Trace Toolkit Tracer"
+ default y
+ help
+ If you enable this option, the Linux Trace Toolkit Tracer will be
+ either built in the kernel or as module.
+
+ Critical parts of the kernel will call upon the kernel tracing
+ function. The data is then recorded by the tracer if a trace daemon
+ is running in user-space and has issued a "start" command.
+
+ For more information on kernel tracing, the trace daemon or the event
+ decoder, please check the following address :
+ http://www.opersys.com/ltt
+ See also the experimental page of the project :
+ http://ltt.polymtl.ca
+
+config LTT_ALIGNMENT
+ bool "Align Linux Trace Toolkit Traces"
+ default n
+ help
+ This option enables dynamic alignment of data in buffers. The
+ alignment is made on the smallest size between architecture size
+ and the size of the value to be written.
+
+ Dynamically calculating the offset of the data has a performance cost,
+ but it is more efficient on some architectures (especially 64 bits) to
+ align data than to write it unaligned.
+
+config LTT_CHECK_ARCH_EFFICIENT_UNALIGNED_ACCESS
+ def_bool y
+ select LTT_ALIGNMENT if !HAVE_EFFICIENT_UNALIGNED_ACCESS
+
+config LTT_DEBUG_EVENT_SIZE
+ bool "Add event size field to LTT events for tracer debugging"
+ default n
+ help
+ Tracer-internal option to help debugging event type encoding problems.
+
+config LTT_VMCORE
+ bool "Support trace extraction from crash dump"
+ default y
+ help
+ If you enable this option, the Linux Trace Toolkit Tracer will
+ support extacting ltt log from vmcore, which can be generated with
+ kdump or LKCD tools.
+
+ Special crash extension should be used to extract ltt buffers.
+
+endif # LTT
Index: linux-2.6-lttng/ltt/Makefile
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6-lttng/ltt/Makefile 2009-03-05 16:09:20.000000000 -0500
@@ -0,0 +1,14 @@
+#
+# Makefile for the LTT objects.
+#
+
+obj-$(CONFIG_MARKERS) += ltt-channels.o
+obj-$(CONFIG_LTT) += ltt-core.o
+obj-$(CONFIG_LTT_TRACER) += ltt-tracer.o
+obj-$(CONFIG_LTT_TRACE_CONTROL) += ltt-marker-control.o
+obj-$(CONFIG_LTT_RELAY_LOCKED) += ltt-relay-locked.o
+obj-$(CONFIG_LTT_RELAY_ALLOC) += ltt-relay-alloc.o
+obj-$(CONFIG_LTT_SERIALIZE) += ltt-serialize.o
+obj-$(CONFIG_LTT_STATEDUMP) += ltt-statedump.o
+obj-$(CONFIG_LTT_FAST_SERIALIZE) += ltt-type-serializer.o
+obj-$(CONFIG_LTT_TRACE_CONTROL) += ltt-trace-control.o