From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>, Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
LKML <linux-kernel@vger.kernel.org>,
Stephane Eranian <eranian@google.com>,
Ian Rogers <irogers@google.com>, Sam Xi <xyzsam@google.com>,
Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH v2 1/2] perf stat: Use proper cpu for shadow stats
Date: Fri, 27 Nov 2020 14:32:26 -0300 [thread overview]
Message-ID: <20201127173226.GO70905@kernel.org> (raw)
In-Reply-To: <20201127041404.390276-1-namhyung@kernel.org>
Em Fri, Nov 27, 2020 at 01:14:03PM +0900, Namhyung Kim escreveu:
> Currently perf stat shows some metrics (like IPC) for defined events.
> But when no aggregation mode is used (-A option), it shows incorrect
> values since it used a value from a different cpu.
>
> Before:
>
> $ perf stat -aA -e cycles,instructions sleep 1
>
> Performance counter stats for 'system wide':
>
> CPU0 116,057,380 cycles
> CPU1 86,084,722 cycles
> CPU2 99,423,125 cycles
> CPU3 98,272,994 cycles
> CPU0 53,369,217 instructions # 0.46 insn per cycle
> CPU1 33,378,058 instructions # 0.29 insn per cycle
> CPU2 58,150,086 instructions # 0.50 insn per cycle
> CPU3 40,029,703 instructions # 0.34 insn per cycle
>
> 1.001816971 seconds time elapsed
>
> So the IPC for CPU1 should be 0.38 (= 33,378,058 / 86,084,722)
> but it was 0.29 (= 33,378,058 / 116,057,380) and so on.
>
> After:
>
> $ perf stat -aA -e cycles,instructions sleep 1
>
> Performance counter stats for 'system wide':
>
> CPU0 109,621,384 cycles
> CPU1 159,026,454 cycles
> CPU2 99,460,366 cycles
> CPU3 124,144,142 cycles
> CPU0 44,396,706 instructions # 0.41 insn per cycle
> CPU1 120,195,425 instructions # 0.76 insn per cycle
> CPU2 44,763,978 instructions # 0.45 insn per cycle
> CPU3 69,049,079 instructions # 0.56 insn per cycle
>
> 1.001910444 seconds time elapsed
Thanks, applied, the new 'perf test' entry in 2/2 will be merged into
perf/core, as it isn't purely a fix,
- Arnaldo
> Reported-by: Sam Xi <xyzsam@google.com>
> Fixes: 44d49a600259 ("perf stat: Support metrics in --per-core/socket mode")
> Reviewed-by: Andi Kleen <ak@linux.intel.com>
> Acked-by: Jiri Olsa <jolsa@redhat.com>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> ---
> tools/perf/util/stat-display.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c
> index 4b57c0c07632..a963b5b8eb72 100644
> --- a/tools/perf/util/stat-display.c
> +++ b/tools/perf/util/stat-display.c
> @@ -324,13 +324,10 @@ static int first_shadow_cpu(struct perf_stat_config *config,
> struct evlist *evlist = evsel->evlist;
> int i;
>
> - if (!config->aggr_get_id)
> - return 0;
> -
> if (config->aggr_mode == AGGR_NONE)
> return id;
>
> - if (config->aggr_mode == AGGR_GLOBAL)
> + if (!config->aggr_get_id)
> return 0;
>
> for (i = 0; i < evsel__nr_cpus(evsel); i++) {
> --
> 2.29.2.454.gaff20da3a2-goog
>
--
- Arnaldo
prev parent reply other threads:[~2020-11-27 17:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-27 4:14 [PATCH v2 1/2] perf stat: Use proper cpu for shadow stats Namhyung Kim
2020-11-27 4:14 ` [PATCH v2 2/2] perf test: Add shadow stat test Namhyung Kim
2020-11-30 11:59 ` Arnaldo Carvalho de Melo
2020-11-27 17:32 ` Arnaldo Carvalho de Melo [this message]
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=20201127173226.GO70905@kernel.org \
--to=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=eranian@google.com \
--cc=irogers@google.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=xyzsam@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox