Re: [PATCH perf/core v9 00/16] perf-probe --cache and SDT support

From: Masami Hiramatsu
Date: Tue May 31 2016 - 04:00:34 EST


On Mon, 30 May 2016 13:30:53 -0300
Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:

> Em Mon, May 30, 2016 at 01:22:52PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Sun, May 29, 2016 at 12:15:01AM +0900, Masami Hiramatsu escreveu:
> > > Hi,
> > >
> > > Here is the 9th version of the patchset for probe-cache and
> > > initial SDT support.
> >
> > Ok, for completeness sake: Where does one learn more about "SDT", I
> > couldn't find a description of this in this patchkit, /me goes googling
> > around...
>
> https://sourceware.org/gdb/onlinedocs/gdb/Static-Probe-Points.html
>
> Some lifting of this text, giving credit and checking whatever license
> it is under would help, I think.

Hmm, would you mean we'd better add links(urls) in Documentation/perf-probe.txt?


> Mentioning some userland components that have such "Statically Defined
> Tracing" markers would also help testers to try it with this patchkit, I
> saw just one or two examples here, IIRC with libc and libstdc++.

Yeah, and it depends on the binary which your distro provides.
Fotunately, Redhat provided binaries usually enables SDTs :)

As you can see the below page, we can add a testcase for sdt in
perftool itself (this also requires sdt.h provided by systemtap-devel)

https://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToApps

Then, user can run tests to ensure it.

Thank you!

>
> - Arnaldo
>
> > - Arnaldo
> >
> > > The previous version is here; https://lkml.org/lkml/2016/5/14/107
> > >
> > > This version just fixes 2 points according to Hemant's comment,
> > > and split out the filename__readable() patch.
> > >
> > > Changes in v9:
> > > - [1/16,2/16] split out the filename__readable()
> > > - [7/16] Fix to show which event is deleted.
> > > - [12/16] Update list_usage to show sdt option.
> > >
> > > Thank you,
> > >
> > > ---
> > >
> > > Hemant Kumar (1):
> > > perf/sdt: ELF support for SDT
> > >
> > > Masami Hiramatsu (15):
> > > perf-symbol: Introduce filename__readable to check readability
> > > 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-list.c | 6
> > > tools/perf/builtin-probe.c | 30 ++
> > > tools/perf/util/build-id.c | 295 ++++++++++++++++--
> > > tools/perf/util/build-id.h | 8
> > > 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 | 492 +++++++++++++++++++++++++++---
> > > tools/perf/util/probe-event.h | 7
> > > tools/perf/util/probe-file.c | 504 +++++++++++++++++++++++++++++++
> > > tools/perf/util/probe-file.h | 41 +++
> > > tools/perf/util/symbol-elf.c | 252 ++++++++++++++++
> > > tools/perf/util/symbol.c | 71 ++--
> > > tools/perf/util/symbol.h | 22 +
> > > 15 files changed, 1712 insertions(+), 132 deletions(-)
> > >
> > > --
> > > Masami Hiramatsu


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>