From: Andi Kleen <andi@firstfloor.org>
To: acme@kernel.org
Cc: jolsa@kernel.org, linux-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org, Andi Kleen <ak@linux.intel.com>,
Denis Bakhvalov <denis.bakhvalov@intel.com>
Subject: [PATCH 2/3] perf script: Fix off by one in brstackinsn IPC computation
Date: Thu, 11 Jul 2019 11:19:21 -0700 [thread overview]
Message-ID: <20190711181922.18765-2-andi@firstfloor.org> (raw)
In-Reply-To: <20190711181922.18765-1-andi@firstfloor.org>
From: Andi Kleen <ak@linux.intel.com>
When we hit the end of a program block, need to count the last instruction
too for the IPC computation. This caused large errors for small blocks.
% perf script -b ls / > /dev/null
Before:
% perf script -F +brstackinsn --xed
...
00007f94c9ac70d8 jz 0x7f94c9ac70e3 # PRED 3 cycles [36] 4.33 IPC
00007f94c9ac70e3 testb $0x20, 0x31d(%rbx)
00007f94c9ac70ea jnz 0x7f94c9ac70b0
00007f94c9ac70ec testb $0x8, 0x205ad(%rip)
00007f94c9ac70f3 jz 0x7f94c9ac6ff0 # PRED 1 cycles [37] 3.00 IPC
After:
% perf script -F +brstackinsn --xed
...
00007f94c9ac70d8 jz 0x7f94c9ac70e3 # PRED 3 cycles [15] 4.67 IPC
00007f94c9ac70e3 testb $0x20, 0x31d(%rbx)
00007f94c9ac70ea jnz 0x7f94c9ac70b0
00007f94c9ac70ec testb $0x8, 0x205ad(%rip)
00007f94c9ac70f3 jz 0x7f94c9ac6ff0 # PRED 1 cycles [16] 4.00 IPC
Suggested-by: Denis Bakhvalov <denis.bakhvalov@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
tools/perf/builtin-script.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 2f6232f1bfdc..9a63cb3442a9 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -1059,7 +1059,7 @@ static int perf_sample__fprintf_brstackinsn(struct perf_sample *sample,
printed += ip__fprintf_sym(ip, thread, x.cpumode, x.cpu, &lastsym, attr, fp);
if (ip == end) {
- printed += ip__fprintf_jump(ip, &br->entries[i], &x, buffer + off, len - off, insn, fp,
+ printed += ip__fprintf_jump(ip, &br->entries[i], &x, buffer + off, len - off, ++insn, fp,
&total_cycles);
if (PRINT_FIELD(SRCCODE))
printed += print_srccode(thread, x.cpumode, ip);
--
2.20.1
next prev parent reply other threads:[~2019-07-11 18:19 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-11 18:19 [PATCH 1/3] perf script: Fix --max-blocks man page description Andi Kleen
2019-07-11 18:19 ` Andi Kleen [this message]
2019-07-16 18:44 ` [PATCH 2/3] perf script: Fix off by one in brstackinsn IPC computation Arnaldo Carvalho de Melo
2019-07-23 21:47 ` [tip:perf/urgent] " tip-bot for Andi Kleen
2019-07-11 18:19 ` [PATCH 3/3] perf script: Improve man page description of metrics Andi Kleen
2019-07-16 18:45 ` Arnaldo Carvalho de Melo
2019-07-23 21:47 ` [tip:perf/urgent] " tip-bot for Andi Kleen
2019-07-16 18:43 ` [PATCH 1/3] perf script: Fix --max-blocks man page description Arnaldo Carvalho de Melo
2019-07-23 21:46 ` [tip:perf/urgent] " tip-bot for Andi Kleen
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=20190711181922.18765-2-andi@firstfloor.org \
--to=andi@firstfloor.org \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=denis.bakhvalov@intel.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.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.