From: Jin Yao <yao.jin@linux.intel.com>
To: acme@kernel.org, jolsa@kernel.org, peterz@infradead.org,
mingo@redhat.com, alexander.shishkin@linux.intel.com
Cc: Linux-kernel@vger.kernel.org, ak@linux.intel.com,
kan.liang@intel.com, yao.jin@intel.com,
Jin Yao <yao.jin@linux.intel.com>
Subject: [PATCH v6 0/5] perf stat: Support overall statistics for interval mode
Date: Wed, 20 May 2020 12:27:32 +0800 [thread overview]
Message-ID: <20200520042737.24160-1-yao.jin@linux.intel.com> (raw)
Currently perf-stat supports to print counts at regular interval (-I),
but it's not very easy for user to get the overall statistics.
With this patchset, it supports to report the summary at the end of
interval output.
For example,
root@kbl-ppc:~# perf stat -e cycles -I1000 --interval-count 2
# time counts unit events
1.000412064 2,281,114 cycles
2.001383658 2,547,880 cycles
Performance counter stats for 'system wide':
4,828,994 cycles
2.002860349 seconds time elapsed
root@kbl-ppc:~# perf stat -e cycles,instructions -I1000 --interval-count 2
# time counts unit events
1.000389902 1,536,093 cycles
1.000389902 420,226 instructions # 0.27 insn per cycle
2.001433453 2,213,952 cycles
2.001433453 735,465 instructions # 0.33 insn per cycle
Performance counter stats for 'system wide':
3,750,045 cycles
1,155,691 instructions # 0.31 insn per cycle
2.003023361 seconds time elapsed
root@kbl-ppc:~# perf stat -M CPI,IPC -I1000 --interval-count 2
# time counts unit events
1.000435121 905,303 inst_retired.any # 2.9 CPI
1.000435121 2,663,333 cycles
1.000435121 914,702 inst_retired.any # 0.3 IPC
1.000435121 2,676,559 cpu_clk_unhalted.thread
2.001615941 1,951,092 inst_retired.any # 1.8 CPI
2.001615941 3,551,357 cycles
2.001615941 1,950,837 inst_retired.any # 0.5 IPC
2.001615941 3,551,044 cpu_clk_unhalted.thread
Performance counter stats for 'system wide':
2,856,395 inst_retired.any # 2.2 CPI
6,214,690 cycles
2,865,539 inst_retired.any # 0.5 IPC
6,227,603 cpu_clk_unhalted.thread
2.003403078 seconds time elapsed
v6:
---
1. Add comments in perf_evlist__save_aggr_prev_raw_counts.
2. Move init_stats(&walltime_nsecs_stats) under interval condition check.
Following patches are changed in v6.
perf stat: Save aggr value to first member of prev_raw_counts
perf stat: Report summary for interval mode
v5:
---
1. Create new patch "perf stat: Save aggr value to first member
of prev_raw_counts".
2. Call perf_evlist__save_aggr_prev_raw_counts to save aggr value
to first member of prev_raw_counts for AGGR_GLOBAL. Then next,
perf_stat_process_counter can create aggr values from per cpu
values.
Following patches are impacted in v5:
perf stat: Copy counts from prev_raw_counts to evsel->counts
perf stat: Save aggr value to first member of prev_raw_counts
perf stat: Report summary for interval mode
v4:
---
1. Create runtime_stat_reset.
2. Zero the aggr in perf_counts__reset and use it to reset
prev_raw_counts.
3. Move affinity setup and read_counter_cpu to a new function
read_affinity_counters. It's only called when stat_config.summary
is not set.
v3:
---
1. 'perf stat: Fix wrong per-thread runtime stat for interval mode'
is a new patch which fixes an existing issue found in test.
2. We use the prev_raw_counts for summary counts. Drop the summary_counts in v2.
3. Fix some issues.
v2:
---
Rebase to perf/core branch
Jin Yao (5):
perf stat: Fix wrong per-thread runtime stat for interval mode
perf counts: Reset prev_raw_counts counts
perf stat: Copy counts from prev_raw_counts to evsel->counts
perf stat: Save aggr value to first member of prev_raw_counts
perf stat: Report summary for interval mode
tools/perf/builtin-stat.c | 101 +++++++++++++++++++++++++-------------
tools/perf/util/counts.c | 4 +-
tools/perf/util/counts.h | 1 +
tools/perf/util/stat.c | 53 +++++++++++++++++---
tools/perf/util/stat.h | 3 ++
5 files changed, 122 insertions(+), 40 deletions(-)
--
2.17.1
next reply other threads:[~2020-05-20 4:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-20 4:27 Jin Yao [this message]
2020-05-20 4:27 ` [PATCH v6 1/5] perf stat: Fix wrong per-thread runtime stat for interval mode Jin Yao
2020-05-20 4:27 ` [PATCH v6 2/5] perf counts: Reset prev_raw_counts counts Jin Yao
2020-05-20 4:27 ` [PATCH v6 3/5] perf stat: Copy counts from prev_raw_counts to evsel->counts Jin Yao
2020-05-20 4:27 ` [PATCH v6 4/5] perf stat: Save aggr value to first member of prev_raw_counts Jin Yao
2020-05-20 4:27 ` [PATCH v6 5/5] perf stat: Report summary for interval mode Jin Yao
2020-05-20 10:54 ` [PATCH v6 0/5] perf stat: Support overall statistics " Jiri Olsa
2020-05-20 14:13 ` Arnaldo Carvalho de Melo
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=20200520042737.24160-1-yao.jin@linux.intel.com \
--to=yao.jin@linux.intel.com \
--cc=Linux-kernel@vger.kernel.org \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@intel.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=yao.jin@intel.com \
/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.