[PATCH -tip 00/14] perf-probe updates

Masami Hiramatsu
2009-12-15T15:27:16Z

Hi Ingo,

Here are several bugfixes and updates of perf-probe.
This updates includes below features.

- Support checking kernel Build-ID
Comparing vmlinux build-id and running kernel build-id
can prevent user to set incorrect probes by using
old/incorrect vmlinux.

- Symbol search by libelf/kallsyms
This allows to check probed symbol exists in the kernel
even if debuginfo is not available.

- Support glob expression with --del option (like --del '*')
This allows users to use wildcard for specifying
deleting events.

- Reject adding same-name events
Rejecting to add event which name already exists.

- Support event name specifying for new events
This allows users to set their own name to new
events. Currently setting group name is not
allowed, because it will conflict with other
tracepoints and kmem event.

I think the glob expression (wildcard matching) can be
applied to other perf tools for choosing events, and it
will give user better experience :-)

Here are updated todo list.

Long-term TODOs (future features):
- Support --line option to show which lines user can probe
- Support lazy string matching(glob?) for selecting probing
line
- Support sys_perf_counter_open (for non-root users)
- Support tracing static variables (non global)
- Support variable types from debuginfo (e.g. char, int, ...)
- Support fields of data structures (var->field)
- Support array (var[N])
- Support dynamic array-indexing (var[var2])
- Support string/dynamic arrays (*var, var[N..M])
- Support force type-casting ((type)var)
- Support the type of return value

Miscs:
- Better support for probes on modules
- Move onto libdw/libdwfl
- Storing file name/line number information in the
kernel for listing events

Thank you,

---

Masami Hiramatsu (14):
perf probe: Fix to show which probe point is not found
perf probe: Check symbols in symtab/kallsyms
perf probe: Check build-id of vmlinux
perf probe: Reject second attempt of adding same-name event
perf probe: Support event name for --add option
perf probe: Add glob matching support on --del
perf probe: Use strlist__for_each macros in probe-event.c
perf tools: Add for_each macros for strlist
perf probe: Fix --del to update current event list
perf probe: Fix --del to show info instead of warning
perf probe: Show need-dwarf message only if it is really needed
perf probe: Check hyphen only argument
perf probe: Check the result of e_snprintf()
perf probe: Cleanup struct session in builtin-probe.c

tools/perf/Documentation/perf-probe.txt | 3
tools/perf/builtin-probe.c | 145 ++++++++++++----------
tools/perf/util/event.h | 2
tools/perf/util/map.c | 14 +-
tools/perf/util/probe-event.c | 208 +++++++++++++++++++++----------
tools/perf/util/probe-event.h | 11 +-
tools/perf/util/probe-finder.c | 4 -
tools/perf/util/probe-finder.h | 3
tools/perf/util/string.c | 25 ++++
tools/perf/util/string.h | 2
tools/perf/util/strlist.c | 6 -
tools/perf/util/strlist.h | 41 ++++++
12 files changed, 318 insertions(+), 146 deletions(-)