[PATCH -tip v3 00/10] perf-probe updates - data-structure support improvements, etc.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Masami Hiramatsu
Date: Monday, April 12, 2010 - 10:16 am

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@redhat.com
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH -tip v3 00/10] perf-probe updates - data-structure ..., Masami Hiramatsu, (Mon Apr 12, 10:16 am)
[PATCH -tip v3 01/10] perf probe: Support argument name, Masami Hiramatsu, (Mon Apr 12, 10:16 am)
[PATCH -tip v3 02/10] perf probe: Use the last field name ..., Masami Hiramatsu, (Mon Apr 12, 10:17 am)
[PATCH -tip v3 03/10] tracing/kprobes: Support basic types ..., Masami Hiramatsu, (Mon Apr 12, 10:17 am)
[PATCH -tip v3 04/10] perf probe: Query basic types from d ..., Masami Hiramatsu, (Mon Apr 12, 10:17 am)
[PATCH -tip v3 05/10] perf probe: Support basic type casting, Masami Hiramatsu, (Mon Apr 12, 10:17 am)
[PATCH -tip v3 06/10] perf probe: Support DW_OP_call_frame ..., Masami Hiramatsu, (Mon Apr 12, 10:17 am)
[PATCH -tip v3 07/10] perf probe: Remove die() from probe- ..., Masami Hiramatsu, (Mon Apr 12, 10:17 am)
[PATCH -tip v3 08/10] perf probe: Remove die() from probe- ..., Masami Hiramatsu, (Mon Apr 12, 10:17 am)
[PATCH -tip v3 09/10] perf probe: Remove xzalloc() from ut ..., Masami Hiramatsu, (Mon Apr 12, 10:17 am)
[PATCH -tip v3 10/10] perf probe: Remove xstrdup()/xstrndu ..., Masami Hiramatsu, (Mon Apr 12, 10:17 am)
Re: [PATCH -tip v3 04/10] perf probe: Query basic types fr ..., Arnaldo Carvalho de Melo, (Mon Apr 12, 10:45 am)
Re: [PATCH -tip v3 00/10] perf-probe updates - data-struct ..., Arnaldo Carvalho de Melo, (Mon Apr 12, 10:49 am)
[tip:perf/core] perf probe: Support argument name, tip-bot for Masami H ..., (Thu Apr 15, 12:27 am)
[tip:perf/core] perf probe: Use the last field name as the ..., tip-bot for Masami H ..., (Thu Apr 15, 12:28 am)
[tip:perf/core] tracing/kprobes: Support basic types on dy ..., tip-bot for Masami H ..., (Thu Apr 15, 12:28 am)
[tip:perf/core] perf probe: Query basic types from debuginfo, tip-bot for Masami H ..., (Thu Apr 15, 12:28 am)
[tip:perf/core] perf probe: Support basic type casting, tip-bot for Masami H ..., (Thu Apr 15, 12:29 am)
[tip:perf/core] perf probe: Support DW_OP_call_frame_cfa i ..., tip-bot for Masami H ..., (Thu Apr 15, 12:29 am)
[tip:perf/core] perf probe: Remove die() from probe-finder ..., tip-bot for Masami H ..., (Thu Apr 15, 12:29 am)
[tip:perf/core] perf probe: Remove die() from probe-event code, tip-bot for Masami H ..., (Thu Apr 15, 12:29 am)
[tip:perf/core] perf probe: Remove xzalloc() from util/pro ..., tip-bot for Masami H ..., (Thu Apr 15, 12:30 am)
[tip:perf/core] perf probe: Remove xstrdup()/xstrndup() fr ..., tip-bot for Masami H ..., (Thu Apr 15, 12:30 am)
Re: [tip:perf/core] perf probe: Support DW_OP_call_frame_c ..., Arnaldo Carvalho de Melo, (Fri May 7, 11:31 am)