linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephane Eranian <eranian@google.com>
To: linux-kernel@vger.kernel.org
Cc: acme@redhat.com, peterz@infradead.org, mingo@elte.hu,
	ak@linux.intel.com, kan.liang@intel.com, jolsa@redhat.com
Subject: [PATCH v2 4/5] perf/record: add support for sampling skid ip
Date: Thu,  2 Nov 2017 11:15:58 -0700	[thread overview]
Message-ID: <1509646559-919-5-git-send-email-eranian@google.com> (raw)
In-Reply-To: <1509646559-919-1-git-send-email-eranian@google.com>

This patch adds a new --skid-ip option to perf record
to capture the unmodified interrupted instruction pointer in
each sample. With this option, the kernel captures both the
ip and skid ip. Unless precise mode is enabled both ip are
the same. They may be different in precise mode depending
on the event and precise sampling mode.

$ perf record --skid-ip .....

Signed-off-by: Stephane Eranian <eranian@google.com>
---
 tools/perf/Documentation/perf-record.txt | 8 ++++++++
 tools/perf/builtin-record.c              | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt
index 5a626ef666c2..1b2f37776d90 100644
--- a/tools/perf/Documentation/perf-record.txt
+++ b/tools/perf/Documentation/perf-record.txt
@@ -483,6 +483,14 @@ config terms. For example: 'cycles/overwrite/' and 'instructions/no-overwrite/'.
 
 Implies --tail-synthesize.
 
+--skid-ip::
+Capture the unmodified interrupt instruction pointer (IP) in each sample. Usually
+with event-based sampling, the ip has skid and rarely point to the instruction which
+caused the event to overflow. On some architectures, the hardware can eliminate the
+skid and perf_events returns it as the IP with precise sampling is enabled. But for
+certain measurements, it may be useful to have both the correct and skid ip. This
+option enable capturing the skid ip in additional to the corrected ip. Default: off
+
 SEE ALSO
 --------
 linkperf:perf-stat[1], linkperf:perf-list[1]
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index a6cbf1640269..d318c0721484 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -1585,6 +1585,8 @@ static struct option __record_options[] = {
 			  "signal"),
 	OPT_BOOLEAN(0, "dry-run", &dry_run,
 		    "Parse options then exit"),
+	OPT_BOOLEAN(0, "skid-ip", &record.opts.skid_ip,
+		    "capture skid ip in additional to ip"),
 	OPT_END()
 };
 
-- 
2.7.4

  parent reply	other threads:[~2017-11-02 18:16 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-02 18:15 [PATCH v2 0/5] perf: add support for capturing skid IP Stephane Eranian
2017-11-02 18:15 ` [PATCH v2 1/5] perf/core: add PERF_RECORD_SAMPLE_SKID_IP record type Stephane Eranian
2017-11-02 18:59   ` Peter Zijlstra
2017-11-02 19:46     ` Stephane Eranian
2017-11-02 18:15 ` [PATCH v2 2/5] perf/x86: add PERF_SAMPLE_SKID_IP support for X86 PEBS Stephane Eranian
2017-11-03 15:05   ` Jiri Olsa
2017-11-02 18:15 ` [PATCH v2 3/5] perf/tools: add support for PERF_SAMPLE_SKID_IP Stephane Eranian
2017-11-02 18:15 ` Stephane Eranian [this message]
2017-11-06 21:25   ` [PATCH v2 4/5] perf/record: add support for sampling skid ip Andi Kleen
2017-11-02 18:15 ` [PATCH v2 5/5] perf/script: add support for " Stephane Eranian
2017-11-03 15:03   ` 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=1509646559-919-5-git-send-email-eranian@google.com \
    --to=eranian@google.com \
    --cc=acme@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=jolsa@redhat.com \
    --cc=kan.liang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.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;
as well as URLs for NNTP newsgroup(s).