LTT for 2.5.45 1/10: Core definitions
Subsystems (2)
PATCH 1/1 LTT for 2.5.45 1/10: Core definitions
Hello Linus,
I really think this is a crucial capability for Linux, as has been proven to me over and over again by the feedback I get from LTT's users. A few distros already include this and some even use it on their feature list for selling Linux to their clients.
This patch includes the fix for KConfig. Please apply.
Parts 1, 2 and 3 of the patch-set are the core. The rest are the actual trace statements and can be gradually applied.
Stress test results on UP and SMP available here:
http://marc.theaimsgroup.com/?l=linux-kernel&m=103573710926859&w=2
This set of patches works with version 0.9.6pre2 of the user tools but you will need to edit Daemon/TraceDaemon.c and change __NR_trace to 257 instead of 254.
The complete patch is available from here:
http://opersys.com/ftp/pub/LTT/ExtraPatches/patch-ltt-linux-2.5.45-vanilla-021030-2.2.bz2
D: This patch includes all the definitions (headers/configs/makefiles)
D: required by the trace subsystem.
diffstat:
MAINTAINERS | 7 include/asm-generic/trace.h | 86 ++++ include/linux/trace.h | 930 ++++++++++++++++++++++++++++++++++++++++++++ init/Kconfig | 26 + kernel/Makefile | 3 5 files changed, 1051 insertions(+), 1 deletion(-)
MAINTAINERS +7 -0
@@ -983,6 +983,13 @@ W: http://linuxppc64.org L: [email protected] S: Supported +LINUX TRACE TOOLKIT +P: Karim Yaghmour +M: [email protected] +W: http://www.opersys.com/LTT +L: [email protected] +S: Maintained + LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP Dynamic Disks) P: Richard Russon (FlatCap) M: [email protected]
include/asm-generic/trace.h +86 -0
86 lines not on this page · raw message
include/linux/trace.h +930 -0
930 lines not on this page · raw message
init/Kconfig +26 -0
@@ -98,6 +98,32 @@ config SYSCTL building a kernel for install/rescue disks or your system is very limited in memory. +config TRACE + bool "Tracing support" + ---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. + 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 two components will be built into the kernel. + 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 + endmenu
kernel/Makefile +2 -1
@@ -4,7 +4,7 @@ export-objs = signal.o sys.o kmod.o workqueue.o ksyms.o pm.o exec_domain.o \ printk.o platform.o suspend.o dma.o module.o cpufreq.o \ - profile.o rcupdate.o + profile.o rcupdate.o trace.o obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \ module.o exit.o itimer.o time.o softirq.o resource.o \
@@ -21,6 +21,7 @@ obj-$(CONFIG_PM) += pm.o obj-$(CONFIG_CPU_FREQ) += cpufreq.o obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o obj-$(CONFIG_SOFTWARE_SUSPEND) += suspend.o +obj-$(CONFIG_TRACE) += trace.o ifneq ($(CONFIG_IA64),y) # According to Alan Modra <[email protected]>, the -fno-omit-frame-pointer is