All of lore.kernel.org
 help / color / mirror / Atom feed
From: Song Liu <songliubraving@fb.com>
To: Kim Phillips <kim.phillips@amd.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	"Namhyung Kim" <namhyung@kernel.org>,
	Cong Wang <xiyou.wangcong@gmail.com>,
	Jin Yao <yao.jin@linux.intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	"Davidlohr Bueso" <dave@stgolabs.net>,
	"linux-perf-users@vger.kernel.org"
	<linux-perf-users@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Jiri Olsa <jolsa@redhat.com>, Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH 1/3 v2] perf stat: don't report a null stalled cycles per insn metric
Date: Mon, 10 Feb 2020 18:53:20 +0000	[thread overview]
Message-ID: <D2E25104-C81C-4DF5-B781-E3F839AD3836@fb.com> (raw)
In-Reply-To: <20200207230613.26709-1-kim.phillips@amd.com>



> On Feb 7, 2020, at 3:06 PM, Kim Phillips <kim.phillips@amd.com> wrote:
> 
> For data collected on machines with front end stalled cycles supported,
> such as found on modern AMD CPU families, commit 146540fb545b ("perf
> stat: Always separate stalled cycles per insn") introduces a new line
> in CSV output with a leading comma that upsets some automated scripts.
> Scripts have to use "-e ex_ret_instr" to work around this issue, after
> upgrading to a version of perf with that commit.
> 
> We could add "if (have_frontend_stalled && !config->csv_sep)"
> to the not (total && avg) else clause, to emphasize that CSV users
> are usually scripts, and are written to do only what is needed, i.e.,
> they wouldn't typically invoke "perf stat" without specifying an
> explicit event list.
> 
> But - let alone CSV output - why should users now tolerate a constant
> 0-reporting extra line in regular terminal output?:
> 
> BEFORE:
> 
> $ sudo perf stat --all-cpus -einstructions,cycles -- sleep 1
> 
> Performance counter stats for 'system wide':
> 
>       181,110,981      instructions              #    0.58  insn per cycle
>                                                  #    0.00  stalled cycles per insn
>       309,876,469      cycles
> 
>       1.002202582 seconds time elapsed
> 
> The user would not like to see the now permanent
> "0.00  stalled cycles per insn" line fixture, as it gives
> no useful information.
> 
> So this patch removes the printing of the zeroed stalled cycles
> line altogether, almost reverting the very original commit fb4605ba47e7
> ("perf stat: Check for frontend stalled for metrics"), which seems
> like it was written to normalize --metric-only column output
> of common Intel machines at the time: modern Intel machines
> have ceased to support the genericised frontend stalled metrics AFAICT.
> 
> AFTER:
> 
> $ sudo perf stat --all-cpus -einstructions,cycles -- sleep 1
> 
> Performance counter stats for 'system wide':
> 
>       244,071,432      instructions              #    0.69  insn per cycle
>       355,353,490      cycles
> 
>       1.001862516 seconds time elapsed
> 
> Output behaviour when stalled cycles is indeed measured is not affected
> (BEFORE == AFTER):
> 
> $ sudo perf stat --all-cpus -einstructions,cycles,stalled-cycles-frontend -- sleep 1
> 
> Performance counter stats for 'system wide':
> 
>       247,227,799      instructions              #    0.63  insn per cycle
>                                                  #    0.26  stalled cycles per insn
>       394,745,636      cycles
>        63,194,485      stalled-cycles-frontend   #   16.01% frontend cycles idle
> 
>       1.002079770 seconds time elapsed
> 
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Cong Wang <xiyou.wangcong@gmail.com>
> Cc: Jin Yao <yao.jin@linux.intel.com>
> Cc: Kan Liang <kan.liang@linux.intel.com>
> Cc: Kim Phillips <kim.phillips@amd.com>
> Cc: Song Liu <songliubraving@fb.com>
> Cc: Davidlohr Bueso <dave@stgolabs.net>
> Cc: linux-perf-users@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Acked-by: Jiri Olsa <jolsa@redhat.com>
> Acked-by: Andi Kleen <ak@linux.intel.com>
> Fixes: 146540fb545b ("perf stat: Always separate stalled cycles per insn")
> Signed-off-by: Kim Phillips <kim.phillips@amd.com>

Acked-by: Song Liu <songliubraving@fb.com>

Thanks for improving perf on AMD systems! 

  parent reply	other threads:[~2020-02-10 18:53 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-07 23:06 [PATCH 1/3 v2] perf stat: don't report a null stalled cycles per insn metric Kim Phillips
2020-02-07 23:06 ` [PATCH 2/3 v2] perf symbols: Update the list of kernel idle symbols Kim Phillips
2020-02-10 18:52   ` Song Liu
2020-02-15  8:41   ` [tip: perf/urgent] " tip-bot2 for Kim Phillips
2020-02-10 16:31 ` [PATCH 3/3 v2] perf symbols: convert symbol__is_idle to use strlist Kim Phillips
2020-02-10 18:51   ` Song Liu
2020-02-10 19:32     ` Arnaldo Carvalho de Melo
2020-02-15  8:41   ` [tip: perf/urgent] perf symbols: Convert symbol__is_idle() " tip-bot2 for Kim Phillips
2020-02-10 18:53 ` Song Liu [this message]
2020-02-15  8:41 ` [tip: perf/urgent] perf stat: Don't report a null stalled cycles per insn metric tip-bot2 for Kim Phillips

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=D2E25104-C81C-4DF5-B781-E3F839AD3836@fb.com \
    --to=songliubraving@fb.com \
    --cc=acme@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=dave@stgolabs.net \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=kan.liang@linux.intel.com \
    --cc=kim.phillips@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=xiyou.wangcong@gmail.com \
    --cc=yao.jin@linux.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.