[PATCH perf/core v7 00/21] perf-probe --cache and SDT support

From: Masami Hiramatsu
Date: Wed May 11 2016 - 09:51:27 EST


Hi,

Here is the 7th version of the patchset for probe-cache and
initial SDT support.

The previous version is here; https://lkml.org/lkml/2116/4/29/358

This version add some bugfixes and cleanup patches. Also, tested
by using runtests (https://github.com/mhiramat/runtests) which found
several bugs in previous version.
(I've added test.d/buildid-cache/*.tc, test.d/probe/cache*.tc and
test.d/probe/sdt.tc for this series)

Changes in v7:
- [1/21]-[5/21], [7/21] Newly added for bugfix and cleanup.
- [6/21] Remove unneeded local strlist.
- [8/21] Move kallsyms buildid related code into build-id.c
(as build_id_cache__kallsyms_path).
- [11/21] Remove the top '/' from binary name if it is not a regular file.
- [16/21] Fix a bug to return an error if no SDT/cached events found in cache.
- [18/21] Validate build-id via sysfs if it is for kallsyms,
- [19/21] Continue to search caches if a build-id cache has no probe cache.
- [19/21] Make probe_cache__open() to accept DSO__NAME_KALLSYMS for kernel.
- [19/21] Fix to add probes correctly when a wildcard matchs both of
uprobes and kprobes.
- [21/21] as Brendan suggested, special support for "sdt_" prefix
(treat it as same as "%sdt_" )


Thank you,

---

Hemant Kumar (1):
perf/sdt: ELF support for SDT

Masami Hiramatsu (20):
tools/perf: Fix lsdir to set errno correctly
perf buildid: Fix to set correct dso name for kallsyms
perf buildid: Introduce DSO__NAME_KALLSYMS and DSO__NAME_KCORE
perf: Use SBUILD_ID_SIZE macro instead of BUILD_ID_SIZE macro
perf symbol: Use lsdir for search in kcore cache directory
perf-buildid-cache: Use lsdir for looking up buildid caches
perf symbol: Cleanup the code flow of dso__find_kallsyms
perf-buildid-cache: Use path/to/bin/buildid/elf instead of path/to/bin/buildid
perf probe: Add --cache option to cache the probe definitions
perf probe: Use cache entry if possible
perf probe: Show all cached probes
perf probe: Remove caches when --cache is given
perf probe: Add group name support
perf buildid-cache: Scan and import user SDT events to probe cache
perf probe: Accept %sdt and %cached event name
perf-list: Show SDT and pre-cached events
perf-list: Skip SDTs placed in invalid binaries
perf probe: Allow wildcard for cached events
perf probe: Support @BUILDID or @FILE suffix for SDT events
perf probe: Support a special SDT probe format


tools/perf/Documentation/perf-probe.txt | 26 +
tools/perf/builtin-buildid-cache.c | 8
tools/perf/builtin-list.c | 4
tools/perf/builtin-probe.c | 30 +
tools/perf/util/annotate.c | 4
tools/perf/util/build-id.c | 334 +++++++++++--
tools/perf/util/build-id.h | 8
tools/perf/util/dso.c | 4
tools/perf/util/dso.h | 5
tools/perf/util/header.c | 2
tools/perf/util/machine.c | 2
tools/perf/util/map.c | 2
tools/perf/util/parse-events.c | 83 +++
tools/perf/util/parse-events.h | 2
tools/perf/util/probe-event.c | 492 +++++++++++++++++---
tools/perf/util/probe-event.h | 7
tools/perf/util/probe-file.c | 502 ++++++++++++++++++++
tools/perf/util/probe-file.h | 41 ++
.../util/scripting-engines/trace-event-python.c | 2
tools/perf/util/symbol-elf.c | 252 ++++++++++
tools/perf/util/symbol.c | 93 ++--
tools/perf/util/symbol.h | 25 +
tools/perf/util/util.c | 2
23 files changed, 1743 insertions(+), 187 deletions(-)

--
Masami Hiramatsu