Messages in this thread | | | From | Frederic Weisbecker <> | Subject | [GIT PULL] tracing/kprobes: Kprobes core/tracing/profiling updates | Date | Tue, 22 Sep 2009 21:37:58 +0200 |
| |
Hi Ingo,
Kprobes has been nicely improved lately. The x86 instruction decoder has been fixed to support cross builds and mmx instruction set, besides of a lot of various kprobes core fixes.
The tracing part has evolved too, we can define human names for arguments and custom subsystem names for dynamic tracepoints.
And also kprobes profiling and raw dynamic tracepoint samples are now supported through perf. Looks like most of the kernel parts are now in place for a perf support. Things are going to be focused on a perf kprobes tool to exploit that.
Concerning this git tree, based on tip:/tracing/kprobes, I had to merge tracing/core inside few weeks ago because it needed build fixes that were in tracing/core (the merge commit provides the details). The tree is self contained but it's already async with recent upstream tracing updates. It means that merging upstream tree or tracing/core inside may result in non-trivial conflicts. I can handle them, or rebase the whole, as you prefer.
The tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git tracing/kprobes
Thanks, Frederic.
--- Ananth N Mavinakayanahalli (1): kprobes: Prevent re-registration of the same kprobe
Frederic Weisbecker (1): Merge commit 'tracing/core' into tracing/kprobes
Masami Hiramatsu (23): kprobes/x86: Call BUG() when reentering probe into KPROBES_HIT_SS kprobes/x86-64: Allow to reenter probe on post_handler kprobes/x86: Fix to add __kprobes to in-kernel fault handing functions kprobes: Fix to add __kprobes to notify_die kprobes/x86-64: Fix to move common_interrupt to .kprobes.text kprobes: Prohibit to probe native_get_debugreg x86: Allow x86-32 instruction decoder selftest on x86-64 x86: Remove unused config macros from instruction decoder selftest x86: Add MMX support for instruction decoder kprobes/x86-32: Move irq-exit functions to kprobes section x86/ptrace: Fix regs_get_argument_nth() to add correct offset tracing/kprobes: Fix probe offset to be unsigned tracing/kprobes: Cleanup kprobe tracer code. tracing/kprobes: Add event profiling support tracing/kprobes: Add argument name support tracing/kprobes: Show event name in trace output tracing/kprobes: Support custom subsystem for each kprobe event tracing/kprobes: Fix trace_probe registration order ftrace: Fix trace_add_event_call() to initialize list ftrace: Fix trace_remove_event_call() to lock trace_event_mutex tracing/kprobes: Add probe handler dispatcher to support perf and ftrace concurrent use tracing/kprobes: Fix profiling alignment for perf_counter buffer tracing/kprobes: Disable kprobe events by default after creation
The diffstat looks erroneous. I got it by taking tip:tracing/kprobes...HEAD but excluding the tracing/core changes after the merge commit: ^d28daf923ac5e4a0d7cecebae56f3e339189366b. And it seems it has taken the diffstat from the beginning of kprobes tracing development. Anyway, here it is:
Documentation/trace/kprobetrace.txt | 152 ++++ arch/x86/Kconfig.debug | 9 + arch/x86/Makefile | 3 + arch/x86/include/asm/inat.h | 188 +++++ arch/x86/include/asm/inat_types.h | 29 + arch/x86/include/asm/insn.h | 143 ++++ arch/x86/include/asm/ptrace.h | 62 ++ arch/x86/kernel/entry_32.S | 24 + arch/x86/kernel/entry_64.S | 8 + arch/x86/kernel/kprobes.c | 234 +++---- arch/x86/kernel/ptrace.c | 112 +++ arch/x86/lib/Makefile | 13 + arch/x86/lib/inat.c | 78 ++ arch/x86/lib/insn.c | 464 +++++++++++ arch/x86/lib/x86-opcode-map.txt | 812 ++++++++++++++++++++ arch/x86/mm/fault.c | 11 +- arch/x86/tools/Makefile | 15 + arch/x86/tools/distill.awk | 42 + arch/x86/tools/gen-insn-attr-x86.awk | 334 ++++++++ arch/x86/tools/test_get_len.c | 108 +++ include/linux/ftrace_event.h | 19 +- include/linux/kprobes.h | 2 + include/linux/syscalls.h | 4 +- include/trace/ftrace.h | 16 +- include/trace/syscall.h | 11 +- kernel/kprobes.c | 68 ++- kernel/notifier.c | 2 +- kernel/trace/Kconfig | 12 + kernel/trace/Makefile | 1 + kernel/trace/trace.h | 24 + kernel/trace/trace_event_types.h | 4 +- kernel/trace/trace_events.c | 125 +++- kernel/trace/trace_export.c | 31 +- kernel/trace/trace_kprobe.c | 1392 ++++++++++++++++++++++++++++++++++ kernel/trace/trace_syscalls.c | 16 +- 35 files changed, 4331 insertions(+), 237 deletions(-)
| |