http://lwn.net/Articles/327111/
Linus,
Please pull the latest tracing-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git tracing-for-linus
( If you pull it then please pull the printk tree first:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git printk-for-linus
The pull request for that was:
http://marc.info/?l=linux-kernel&m=123828022817508&...
The tracing tree depends on the new printk facilities factored
out into the printk branch - but i did not merge back the
latest printk fixes back there to reduce criss-cross merging. )
The tree has the ugly criss-crossy merge structure you complained
about before - i fixed my topic workload and the branch structure
will look much nicer in the future.
Highlights:
- New architectures:
- IA64 ftrace support
- New plugins:
- kmemtrace to trace SLAB allocation/freeing and usage patterns
- blktrace: new ftrace plugin, also ABI compatible with existing
relayfs + ioctl based blktrace user-space.
- lock acquire/release tracing
- workqueue tracer
- Updated plugins:
- enhanced function graph tracer: IRQ entry/exit augmentation,
lock acquire/release augmentation, support for regexp, and
more.
- updated max-stack-footprint tracer
- updated and performance-fixed sysprof plugin, updated userspace
- updated mmiotrace plugin
- enhanced hardware-driven branch execution tracing,
hw-branch-tracer
- Tracing infrastructure updates:
- add trace_printk() for general debugging, accessible generally
via kernel.h.
- regexp filter enhancements: module filters, inversion/negation
filter rules.
- separate files for per cpu buffers in /debug/tracing/per_cpu/,
for high-speed streaming of tracing data
- splice() zero-copy tracing support straight from the
ring-buffer to the target pipe
- optionally record call-chain stack traces with events
- event tracer with structured-logging format descriptors under
/debug/tracing/events/* and fast binary tracing records
(no vsprintf overhead)
- user-definable runtime filter expressions
- all tracepoints in the kernel now show up in
/debug/tracing/events/ and can be toggled on/off individually
and filter expressions can be set.
- function symbol driven 'trigger' regexp filters: tracing
start/stop events based on hitting a specific function or set
of functions. Trigger count-down support.
- per function tracing attributes and trigger state
- system-wide syscall (and parameters) tracing
- IRQ/softirq tracepoints
- ftrace= boot parameter to start tracing early
- all trace options in separate symbolic files in
/debug/tracing/options/
- improved statistics (in-kernel histogram) framework
Known risks:
- The scheduler tracepoints were a bit more problematic than
usual in this development cycle: deadlocks, crashes.
- The blktrace plugin finalized a bit slower than expected. Most
of the bugs were on the new ftrace plugin side.
- It's a big tree with 500 commits. It's problem-free for me, but
these things are never problem-free for everyone.
- No known regressions.
|
- [linuxkernelnewbies] tracing bits for v2.6.30 [LWN.net] Peter Teoh
-