From: Jiri Olsa <jolsa@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: Andi Kleen <andi@firstfloor.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Corey Ashford <cjashfor@linux.vnet.ibm.com>,
David Ahern <dsahern@gmail.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Ingo Molnar <mingo@kernel.org>,
"Jen-Cheng(Tommy) Huang" <tommy24@gatech.edu>,
Namhyung Kim <namhyung@kernel.org>,
Paul Mackerras <paulus@samba.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Stephane Eranian <eranian@google.com>,
Jiri Olsa <jolsa@kernel.org>
Subject: [RFCv2 0/9] perf: Allow leader sampling on inherited events
Date: Mon, 25 Aug 2014 16:45:34 +0200 [thread overview]
Message-ID: <1408977943-16594-1-git-send-email-jolsa@kernel.org> (raw)
hi,
Jen-Cheng(Tommy) Huang reported the leader sampling not working
on children processes:
http://www.mail-archive.com/linux-perf-users@vger.kernel.org/msg01644.html
The leader sampling (example below) lets the group leader event (cycles)
do the sampling and reads the rest of the group (cache-misses) via
PERF_FORMAT_GROUP format.
Example:
$ perf record -e '{cycles,cache-misses}:S' <workload>
$ perf report --group
The perf report --group allows to see all events group
data in single view.
The reason for leader sampling being switched off for inherited
events, is that the kernel does no allow PERF_FORMAT_GROUP format
on inherited events (which is used by leader sampling).
I switched on the PERF_FORMAT_GROUP format for inherited events
with few other fixies in patches:
perf: Deny optimized switch for events read by PERF_SAMPLE_READ
perf: Allow PERF_FORMAT_GROUP format on inherited events
And I fixed perf tool code to be able to process data from
children processes.
Anyway, I might have missed some other reason why this was
never switched on in kernel, so sending this as RFC.
v2 changes:
- detection of the kernel support
- added perf script support for period column
- separate kernel change for context_equiv change
thanks for comments,
jirka
Reported-by: Jen-Cheng(Tommy) Huang <tommy24@gatech.edu>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jen-Cheng(Tommy) Huang <tommy24@gatech.edu>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
Jiri Olsa (9):
perf: Remove redundant parent context check from context_equiv
perf: Deny optimized switch for events read by PERF_SAMPLE_READ
perf: Allow PERF_FORMAT_GROUP format on inherited events
perf tools: Add support to traverse xyarrays
perf tools: Add pr_warning_once debug macro
perf tools: Add hash of periods for struct perf_sample_id
perf tools: Allow PERF_FORMAT_GROUP for inherited events
perf script: Add period data column
perf script: Add period as a default output column
kernel/events/core.c | 33 ++++++++++++++------------------
tools/perf/Documentation/perf-script.txt | 2 +-
tools/perf/Makefile.perf | 1 +
tools/perf/builtin-script.c | 21 +++++++++++++++++----
tools/perf/perf.h | 1 +
tools/perf/tests/builtin-test.c | 4 ++++
tools/perf/tests/tests.h | 1 +
tools/perf/tests/xyarray.c | 33 ++++++++++++++++++++++++++++++++
tools/perf/util/debug.h | 12 ++++++++++++
tools/perf/util/evsel.c | 19 ++++++++++++++++++-
tools/perf/util/evsel.h | 5 ++++-
tools/perf/util/record.c | 12 ++++++++++++
tools/perf/util/session.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------
tools/perf/util/xyarray.c | 4 +++-
tools/perf/util/xyarray.h | 6 ++++++
15 files changed, 214 insertions(+), 33 deletions(-)
create mode 100644 tools/perf/tests/xyarray.c
next reply other threads:[~2014-08-25 14:46 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-25 14:45 Jiri Olsa [this message]
2014-08-25 14:45 ` [PATCH 1/9] perf: Remove redundant parent context check from context_equiv Jiri Olsa
2014-09-02 10:50 ` Peter Zijlstra
2014-09-08 9:43 ` Jiri Olsa
2014-09-08 9:45 ` Peter Zijlstra
2014-09-08 9:48 ` Peter Zijlstra
2014-09-08 10:01 ` Peter Zijlstra
2014-09-08 11:39 ` Peter Zijlstra
2014-09-08 12:19 ` Jiri Olsa
2014-09-08 13:20 ` Peter Zijlstra
2014-09-08 12:32 ` Jiri Olsa
2014-09-08 12:01 ` Jiri Olsa
2014-09-08 13:34 ` Peter Zijlstra
2014-09-08 15:13 ` Peter Zijlstra
2014-09-08 16:45 ` Jiri Olsa
2014-09-09 10:20 ` Peter Zijlstra
2014-09-10 13:57 ` Peter Zijlstra
2014-09-10 14:35 ` Jiri Olsa
2014-09-24 14:58 ` [tip:perf/core] Revert "perf: Do not allow optimized switch for non-cloned events" tip-bot for Jiri Olsa
2014-08-25 14:45 ` [PATCH 2/9] perf: Deny optimized switch for events read by PERF_SAMPLE_READ Jiri Olsa
2014-09-02 10:52 ` Peter Zijlstra
2014-09-08 10:00 ` Jiri Olsa
2014-09-08 10:11 ` Peter Zijlstra
2014-09-08 16:39 ` Jiri Olsa
2014-08-25 14:45 ` [PATCH 3/9] perf: Allow PERF_FORMAT_GROUP format on inherited events Jiri Olsa
2014-08-25 14:45 ` [PATCH 4/9] perf tools: Add support to traverse xyarrays Jiri Olsa
2014-08-25 14:45 ` [PATCH 5/9] perf tools: Add pr_warning_once debug macro Jiri Olsa
2014-08-25 14:45 ` [PATCH 6/9] perf tools: Add hash of periods for struct perf_sample_id Jiri Olsa
2014-08-25 14:45 ` [PATCH 7/9] perf tools: Allow PERF_FORMAT_GROUP for inherited events Jiri Olsa
2014-08-25 14:45 ` [PATCH 8/9] perf script: Add period data column Jiri Olsa
2014-08-27 14:33 ` David Ahern
2014-10-17 16:10 ` Jiri Olsa
2014-10-17 18:22 ` Arnaldo Carvalho de Melo
2014-10-18 7:07 ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2014-08-25 14:45 ` [PATCH 9/9] perf script: Add period as a default output column Jiri Olsa
2014-08-27 14:40 ` David Ahern
2014-10-17 16:11 ` Jiri Olsa
2014-10-18 7:07 ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2014-08-25 14:51 ` [RFCv2 0/9] perf: Allow leader sampling on inherited events Jiri Olsa
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=1408977943-16594-1-git-send-email-jolsa@kernel.org \
--to=jolsa@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.org \
--cc=andi@firstfloor.org \
--cc=cjashfor@linux.vnet.ibm.com \
--cc=dsahern@gmail.com \
--cc=eranian@google.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=paulus@samba.org \
--cc=tommy24@gatech.edu \
/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;
as well as URLs for NNTP newsgroup(s).