From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
linux-kernel@vger.kernel.org,
Adrian Hunter <adrian.hunter@intel.com>,
Ingo Molnar <mingo@redhat.com>, Paul Mackerras <paulus@samba.org>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Borislav Petkov <bp@suse.de>,
Hemant Kumar <hemant@linux.vnet.ibm.com>
Subject: [RFC PATCH perf/core v3 00/17] perf-probe --cache and SDT support
Date: Sat, 15 Aug 2015 20:42:53 +0900 [thread overview]
Message-ID: <20150815114252.13642.62690.stgit@localhost.localdomain> (raw)
Hi,
Here is the 3rd 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/7/15/221
This version improves SDT support for perf-list and perf-record.
It is still just a basic support (no wildcard support, nor
@FILE/@BUILDID support). So this is an ongoing work report :)
As we discussed on the previous series, now all SDT events have
"sdt_" prefix on the provider name. We also should support "@FILE"
or "@BUILDID" suffixes for same-name SDTs.
perf-list shows only SDTs on existing binaries (no old/deleted
files) and if the same-name events are shown, it adds
"@FILE@BUILDID" suffixes after the events to clarify on which
binary the SDT exists.
----
# perf buildid-cache -a /usr/bin/gcc
# perf list sdt
List of pre-defined events (to be used in -e):
sdt_libgcc:unwind [SDT event]
sdt_libstdcxx:catch [SDT event]
sdt_libstdcxx:rethrow [SDT event]
sdt_libstdcxx:throw [SDT event]
# perf buildid-cache -a /usr/lib/libstdc++.so.6
# perf list sdt
List of pre-defined events (to be used in -e):
sdt_libgcc:unwind [SDT event]
sdt_libstdcxx:catch@/usr/bin/gcc@0x05d261236bbb [SDT event]
sdt_libstdcxx:catch@/usr/lib/libstdc++.so.6.0.19@0xcd6ac0e6236c [SDT event]
sdt_libstdcxx:rethrow@/usr/bin/gcc@0x05d261236bbb [SDT event]
sdt_libstdcxx:rethrow@/usr/lib/libstdc++.so.6.0.19@0xcd6ac0e6236c [SDT event]
sdt_libstdcxx:throw@/usr/bin/gcc@0x05d261236bbb [SDT event]
sdt_libstdcxx:throw@/usr/lib/libstdc++.so.6.0.19@0xcd6ac0e6236c [SDT event]
----
In this version, I used "@" separater for both FILE and BUILDID,
but I think it is also possible to use "%" for BUILDID.
(BTW, I've cut down the BUILDID to the first 12 chars, and added "0x")
TODOs:
- (perf record) Allow glob matching for SDT event to specify events.
- (perf record) Support @FILE/@BUILDID suffix to record specific SDTs.
- (perf record) Try to unregister SDT events after record.
- (perf probe) Allow glob matching for pre-cached events.
- (perf probe) Support @FILE/@BUILDID suffix for pre-cached events.
(also removes -x option when using pre-cached events)
- (ftrace) Support multiple SDTs on single event.
Since multiple same SDTs are defined in a single binary (e.g. libc:setjump
has 3 different entries on libc-2.17.so), we need the last feature on
ftrace, so that a single uprobe event can occur several different
probe points.
Thank you,
---
Hemant Kumar (1):
perf/sdt: ELF support for SDT
Masami Hiramatsu (16):
perf probe: Use strbuf for making strings in probe-event.c
perf-buildid-cache: Use path/to/bin/buildid/elf instead of path/to/bin/buildid
perf buildid: Introduce sysfs/filename__sprintf_build_id
perf: Add lsdir to read a directory
perf-buildid-cache: Use lsdir for looking up buildid caches
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 events
perf-list: Skip SDTs placed in invalid binaries
perf record: Support recording SDT events
tools/perf/Documentation/perf-probe.txt | 14 +
tools/perf/builtin-buildid-cache.c | 14 -
tools/perf/builtin-buildid-list.c | 24 +
tools/perf/builtin-list.c | 3
tools/perf/builtin-probe.c | 6
tools/perf/util/build-id.c | 255 +++++++++++---
tools/perf/util/build-id.h | 8
tools/perf/util/dso.h | 5
tools/perf/util/parse-events.c | 142 ++++++++
tools/perf/util/parse-events.h | 2
tools/perf/util/probe-event.c | 574 ++++++++++++++++++++-----------
tools/perf/util/probe-event.h | 10 -
tools/perf/util/probe-file.c | 467 +++++++++++++++++++++++++
tools/perf/util/probe-file.h | 28 ++
tools/perf/util/probe-finder.c | 14 -
tools/perf/util/symbol-elf.c | 252 ++++++++++++++
tools/perf/util/symbol.c | 2
tools/perf/util/symbol.h | 22 +
tools/perf/util/util.c | 34 ++
tools/perf/util/util.h | 4
20 files changed, 1580 insertions(+), 300 deletions(-)
--
Masami HIRAMATSU
Linux Technology Research Center, System Productivity Research Dept.
Center for Technology Innovation - Systems Engineering
Hitachi, Ltd., Research & Development Group
E-mail: masami.hiramatsu.pt@hitachi.com
next reply other threads:[~2015-08-15 11:47 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-15 11:42 Masami Hiramatsu [this message]
2015-08-15 11:42 ` [RFC PATCH perf/core v3 01/17] perf probe: Use strbuf for making strings in probe-event.c Masami Hiramatsu
2015-08-28 15:56 ` Arnaldo Carvalho de Melo
2015-08-15 11:42 ` [RFC PATCH perf/core v3 02/17] perf-buildid-cache: Use path/to/bin/buildid/elf instead of path/to/bin/buildid Masami Hiramatsu
2015-08-28 16:07 ` Arnaldo Carvalho de Melo
2015-08-15 11:42 ` [RFC PATCH perf/core v3 03/17] perf buildid: Introduce sysfs/filename__sprintf_build_id Masami Hiramatsu
2015-08-28 16:14 ` Arnaldo Carvalho de Melo
2015-08-31 8:32 ` [tip:perf/core] perf buildid: Introduce sysfs/ filename__sprintf_build_id tip-bot for Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 04/17] perf: Add lsdir to read a directory Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 05/17] perf-buildid-cache: Use lsdir for looking up buildid caches Masami Hiramatsu
2015-08-28 16:17 ` Arnaldo Carvalho de Melo
2015-08-15 11:43 ` [RFC PATCH perf/core v3 06/17] perf probe: Add --cache option to cache the probe definitions Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 07/17] perf probe: Use cache entry if possible Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 08/17] perf probe: Show all cached probes Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 09/17] perf probe: Remove caches when --cache is given Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 10/17] perf/sdt: ELF support for SDT Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 11/17] perf probe: Add group name support Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 12/17] perf-probe: Set default kprobe group name if it is not given Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 13/17] perf buildid-cache: Scan and import user SDT events to probe cache Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 14/17] perf probe: Accept %sdt and %cached event name Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 15/17] perf-list: Show SDT events Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 16/17] perf-list: Skip SDTs placed in invalid binaries Masami Hiramatsu
2015-08-15 11:43 ` [RFC PATCH perf/core v3 17/17] perf record: Support recording SDT events Masami Hiramatsu
2015-08-19 8:30 ` [RFC PATCH perf/core v3 00/17] perf-probe --cache and SDT support Namhyung Kim
2015-08-19 15:15 ` 平松雅巳 / HIRAMATU,MASAMI
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150815114252.13642.62690.stgit@localhost.localdomain \
--to=masami.hiramatsu.pt@hitachi.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=bp@suse.de \
--cc=hemant@linux.vnet.ibm.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox