[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100412171646.3790.64715.stgit@localhost6.localdomain6>
Date: Mon, 12 Apr 2010 13:16:46 -0400
From: Masami Hiramatsu <mhiramat@...hat.com>
To: Ingo Molnar <mingo@...e.hu>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
lkml <linux-kernel@...r.kernel.org>
Cc: Paul Mackerras <paulus@...ba.org>,
Peter Zijlstra <peterz@...radead.org>,
Mike Galbraith <efault@....de>,
Frederic Weisbecker <fweisbec@...il.com>,
systemtap <systemtap@...rces.redhat.com>,
DLE <dle-develop@...ts.sourceforge.net>
Subject: [PATCH -tip v3 00/10] perf-probe updates - data-structure support
improvements, etc.
Hi Ingo and Arnaldo,
Here are several updates of perf-probe. This series improves
data structure accessing. In this version, I added 'removing x*()'
patches.
- Set the name of argument which traces a data structure member
as the last member of the data structure reference (e.g. f_mode
of file->f_mode). This allows us to use perf-trace for tracin
data-structure members.
- Add the basic type support. This allows us to fetch the memory
with specified bitwidth. Usually, data-structure members are
packed on the memory, this means if we want to read a member
from memory, we have to access it with type casting.
kprobe-tracer now support tracing argument with basic types
(u8,u16,u32,u64,s8,s16,s32,s64), and perf-probe decodes the type
information of the members.
- Support canonical frame address, which is used for refering
frame-base on the kernel built without CONFIG_FRAME_POINTER.
- Remove almost all die()s and xzalloc/xstr*dup from util code,
according to acme's advice. Thanks!
TODOs (possible features):
- Support string/dynamic arrays (*var, var[N..M])
- Support tracing static variables (non global)
- Support array element (var[N])
- Support dynamic array-indexing (var[var2])
- Support force type-casting ((type)var)
- Show what deta-structure member is assigned to each argument.
- Better support for probes on modules
- More debugger like enhancements(%next, --disasm, etc.)
Thank you,
---
Masami Hiramatsu (10):
perf probe: Remove xstrdup()/xstrndup() from util/probe-{event,finder}.c
perf probe: Remove xzalloc() from util/probe-{event,finder}.c
perf probe: Remove die() from probe-event code
perf probe: Remove die() from probe-finder code
perf probe: Support DW_OP_call_frame_cfa in debuginfo
perf probe: Support basic type casting
perf probe: Query basic types from debuginfo
tracing/kprobes: Support basic types on dynamic events
perf probe: Use the last field name as the argument name
perf probe: Support argument name
Documentation/trace/kprobetrace.txt | 4
kernel/trace/trace.h | 16 -
kernel/trace/trace_kprobe.c | 535 ++++++++++++-------
tools/perf/Documentation/perf-probe.txt | 11
tools/perf/builtin-probe.c | 74 ++-
tools/perf/util/probe-event.c | 855 ++++++++++++++++++++++---------
tools/perf/util/probe-event.h | 27 +
tools/perf/util/probe-finder.c | 647 ++++++++++++++++-------
tools/perf/util/probe-finder.h | 1
9 files changed, 1469 insertions(+), 701 deletions(-)
--
Masami Hiramatsu
e-mail: mhiramat@...hat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists