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

From: Hemant Kumar
Date: Tue May 31 2016 - 12:31:37 EST




On 05/31/2016 07:09 PM, Arnaldo Carvalho de Melo wrote:
Em Tue, May 31, 2016 at 05:00:16PM +0900, Masami Hiramatsu escreveu:
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?
I mean we should describe the feature that is being implemented, so that
interested parties can have a better handle at testing it :-)

So, yes, adding links to Documentation/perf-probe.txt is part of that.

Cool.
This is precisely what I was suggesting in the last patchset. A more
detailed explanation (including some good examples) of the feature added
to documentation will help all.

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 :)

Yeah.

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
Cool, having it tested in 'perf test' will certainly help in merging
this and keeping it working over time, when we touch code that is used
by SDT support.

+1

- Arnaldo

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.

Thanks for working on those Masami.

For the patches not already picked up by Arnaldo,
Acked-by: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx>

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>

--
Thanks,
Hemant Kumar