[PATCH perf/core v4 00/19] perf-probe --cache and SDT support

From: Masami Hiramatsu
Date: Tue Apr 26 2016 - 05:02:16 EST


Hi,

Here is the 4th version of the patchset for probe-cache and
initial SDT support which are going to be perf-cache finally.

The previous version is here; https://lkml.org/lkml/2015/8/15/52

This version fixes some bugs and improve wildcard support (
including automatic target binary selection, we don't need
-x option for SDT/pre-cached events any more :) ),
and drops perf-record support currently because it seems more
work on cleanup side.

BTW, since I couldn't find list_dir function in Arnaldo's mail,
so this series still have a patch to add lsdir().

Note that all SDT events have "sdt_" prefix on the provider name,
because of easier to distinguish between other named caches.

TODOs:
- (perf record) Support SDT event recording directly
- (perf record) Support @FILE/@BUILDID suffix to record specific SDTs.
- (perf record) Try to unregister SDT events after record.
- (ftrace) Support multiple SDTs on single event.

Done:
- (perf probe) Allow glob matching for pre-cached events.
- (perf probe) Removes -x option when using pre-cached events.
- (perf probe) Support @FILE/@BUILDID suffix for pre-cached events.
- (perf buildid-cache) Fallback to old style buildid-cache.

Thank you,


---

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

Masami Hiramatsu (18):
perf probe: Use strbuf for making strings
perf-buildid-cache: Use path/to/bin/buildid/elf instead of path/to/bin/buildid
perf buildid-cache: Fall back to the old style build-id cache
perf: Add lsdir to read a directory
perf-buildid-cache: Use lsdir for looking up buildid caches
perf-probe: Let probe_file__add_event return 0 if succeeded
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-probe: Set default kprobe group name if it is not given
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


tools/perf/Documentation/perf-probe.txt | 24 +
tools/perf/builtin-list.c | 4
tools/perf/builtin-probe.c | 30 +
tools/perf/util/build-id.c | 278 ++++++++++--
tools/perf/util/build-id.h | 6
tools/perf/util/dso.h | 5
tools/perf/util/parse-events.c | 83 ++++
tools/perf/util/parse-events.h | 2
tools/perf/util/probe-event.c | 692 ++++++++++++++++++++++---------
tools/perf/util/probe-event.h | 9
tools/perf/util/probe-file.c | 495 ++++++++++++++++++++++
tools/perf/util/probe-file.h | 32 +
tools/perf/util/probe-finder.c | 14 -
tools/perf/util/symbol-elf.c | 252 +++++++++++
tools/perf/util/symbol.c | 15 -
tools/perf/util/symbol.h | 22 +
tools/perf/util/util.c | 34 ++
tools/perf/util/util.h | 4
18 files changed, 1725 insertions(+), 276 deletions(-)

--
Masami Hiramatsu