From: Andi Kleen <andi@firstfloor.org>
To: acme@kernel.org
Cc: jolsa@kernel.org, mhiramat@kernel.org, adrian.hunter@intel.com,
linux-kernel@vger.kernel.org, Andi Kleen <ak@linux.intel.com>
Subject: [PATCH 01/12] perf, tools, pt: Clear instruction for ptwrite samples
Date: Mon, 27 Nov 2017 16:23:10 -0800 [thread overview]
Message-ID: <20171128002321.2878-2-andi@firstfloor.org> (raw)
In-Reply-To: <20171128002321.2878-1-andi@firstfloor.org>
From: Andi Kleen <ak@linux.intel.com>
When a PTWRITE sample is synthesized the PT decoder already
ran ahead and sample->insn contains the next branch instruction,
not the PTWRITE.
Clear it for PTWRITE samples to avoid confusion.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
tools/perf/util/intel-pt.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
index 23f9ba676df0..485c8040484e 100644
--- a/tools/perf/util/intel-pt.c
+++ b/tools/perf/util/intel-pt.c
@@ -1262,6 +1262,12 @@ static void intel_pt_prep_p_sample(struct intel_pt *pt,
*/
if (!sample->ip)
sample->flags = 0;
+
+ /*
+ * Don't have valid instructions because decoder already ran ahead.
+ */
+ sample->insn_len = 0;
+ memset(sample->insn, 0, INTEL_PT_INSN_BUF_SZ);
}
static int intel_pt_synth_ptwrite_sample(struct intel_pt_queue *ptq)
--
2.13.6
next prev parent reply other threads:[~2017-11-28 0:23 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-28 0:23 Implement dwarf variable/type resolving for perf script Andi Kleen
2017-11-28 0:23 ` Andi Kleen [this message]
2017-11-28 0:23 ` [PATCH 02/12] perf, tools, script: Print insn/insnlen for non PT sample Andi Kleen
2017-11-28 0:23 ` [PATCH 03/12] perf, tools: Support storing additional data in strlist Andi Kleen
2017-11-28 13:31 ` Masami Hiramatsu
2017-11-28 0:23 ` [PATCH 04/12] perf, tools: Store variable name and register for dwarf variable lists Andi Kleen
2017-11-28 0:23 ` [PATCH 05/12] perf, tools, probe: Print location for resolved variables Andi Kleen
2017-11-29 1:19 ` Masami Hiramatsu
2017-11-28 0:23 ` [PATCH 06/12] perf, tools, probe: Support a quiet argument for debug info open Andi Kleen
2017-11-29 3:14 ` Masami Hiramatsu
2017-11-29 3:39 ` Andi Kleen
2017-11-30 2:36 ` Masami Hiramatsu
2017-11-28 0:23 ` [PATCH 07/12] perf, tools, script: Resolve variable names for registers Andi Kleen
2017-11-28 0:23 ` [PATCH 08/12] perf, tools: Always print probe finder warnings with -v Andi Kleen
2017-11-29 3:16 ` Masami Hiramatsu
2017-11-28 0:23 ` [PATCH 09/12] perf, tools: Downgrade register mapping message to warning Andi Kleen
2017-11-29 5:56 ` Masami Hiramatsu
2017-11-28 0:23 ` [PATCH 10/12] perf, tools: Add args and gprs shortcut for registers Andi Kleen
2017-11-28 0:23 ` [PATCH 11/12] perf, tools: Print probe warnings for binaries only once per binary Andi Kleen
2017-11-30 2:38 ` Masami Hiramatsu
2017-11-28 0:23 ` [PATCH 12/12] perf, tools, script: Implement dwarf resolving of instructions Andi Kleen
2017-12-01 2:36 ` Masami Hiramatsu
2017-11-28 5:31 ` Implement dwarf variable/type resolving for perf script Masami Hiramatsu
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=20171128002321.2878-2-andi@firstfloor.org \
--to=andi@firstfloor.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.