All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>,
	acme@kernel.org, jolsa@kernel.org, linux-kernel@vger.kernel.org,
	Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH 3/7] perf, tools, stat: Support metrics in --per-core/socket mode
Date: Tue, 1 Mar 2016 19:52:50 +0100	[thread overview]
Message-ID: <20160301185250.GV5083@two.firstfloor.org> (raw)
In-Reply-To: <20160301123149.GD622@krava.redhat.com>

On Tue, Mar 01, 2016 at 01:31:49PM +0100, Jiri Olsa wrote:
> On Mon, Feb 29, 2016 at 02:36:22PM -0800, Andi Kleen wrote:
> > From: Andi Kleen <ak@linux.intel.com>
> > 
> > Enable metrics printing in --per-core / --per-socket mode. We need
> > to save the shadow metrics in a unique place. Always use the first
> > CPU in the aggregation. Then use the same CPU to retrieve the
> > shadow value later.
> > 
> > Example output:
> > 
> > % perf stat --per-core -a ./BC1s
> > 
> >  Performance counter stats for 'system wide':
> > 
> > S0-C0           2        2966.020381      task-clock (msec)         #    2.004 CPUs utilized            (100.00%)
> > S0-C0           2                 49      context-switches          #    0.017 K/sec                    (100.00%)
> > S0-C0           2                  4      cpu-migrations            #    0.001 K/sec                    (100.00%)
> > S0-C0           2                467      page-faults               #    0.157 K/sec
> > S0-C0           2      4,599,061,773      cycles                    #    1.551 GHz                      (100.00%)
> > S0-C0           2      9,755,886,883      instructions              #    2.12  insn per cycle           (100.00%)
> > S0-C0           2      1,906,272,125      branches                  #  642.704 M/sec                    (100.00%)
> > S0-C0           2         81,180,867      branch-misses             #    4.26% of all branches
> > S0-C1           2        2965.995373      task-clock (msec)         #    2.003 CPUs utilized            (100.00%)
> > S0-C1           2                 62      context-switches          #    0.021 K/sec                    (100.00%)
> > S0-C1           2                  8      cpu-migrations            #    0.003 K/sec                    (100.00%)
> > S0-C1           2                281      page-faults               #    0.095 K/sec
> > S0-C1           2          6,347,290      cycles                    #    0.002 GHz                      (100.00%)
> > S0-C1           2          4,654,156      instructions              #    0.73  insn per cycle           (100.00%)
> > S0-C1           2            947,121      branches                  #    0.319 M/sec                    (100.00%)
> > S0-C1           2             37,322      branch-misses             #    3.94% of all branches
> > 
> >        1.480409747 seconds time elapsed
> > 
> > v2: Rebase to older patches
> > v3: Document shadow cpus. Fix aggr_get_id argument. Fix -A shadows (Jiri)
> > Signed-off-by: Andi Kleen <ak@linux.intel.com>
> > ---
> >  tools/perf/builtin-stat.c     | 61 +++++++++++++++++++++++++++++++++++++------
> >  tools/perf/util/stat-shadow.c |  7 +++++
> >  2 files changed, 60 insertions(+), 8 deletions(-)
> > 
> > diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> > index 2ffb822..c79e571 100644
> > --- a/tools/perf/builtin-stat.c
> > +++ b/tools/perf/builtin-stat.c
> > @@ -740,6 +740,8 @@ struct outstate {
> >  	bool newline;
> >  	const char *prefix;
> >  	int  nfields;
> > +	int  id, nr;
> > +	struct perf_evsel *evsel;
> >  };
> >  
> >  #define METRIC_LEN  35
> > @@ -755,12 +757,9 @@ static void do_new_line_std(struct outstate *os)
> >  {
> >  	fputc('\n', os->fh);
> >  	fputs(os->prefix, os->fh);
> > +	aggr_printout(os->evsel, os->id, os->nr);
> >  	if (stat_config.aggr_mode == AGGR_NONE)
> >  		fprintf(os->fh, "        ");
> 
> any reason for this extra space for AGGR_NONE?

It's just to avoid special cases for NONE elsewhere, as it has
the same alignment.  This was there before.

-Andi

  reply	other threads:[~2016-03-01 18:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-29 22:36 perf, tools: Refactor and support interval and CSV metrics Andi Kleen
2016-02-29 22:36 ` [PATCH 1/7] perf, tools, stat: Check existence of frontend/backed stalled cycles Andi Kleen
2016-02-29 22:36 ` [PATCH 2/7] perf, tools, stat: Implement CSV metrics output Andi Kleen
2016-03-01 12:31   ` Jiri Olsa
2016-03-05  8:17   ` [tip:perf/core] perf " tip-bot for Andi Kleen
2016-02-29 22:36 ` [PATCH 3/7] perf, tools, stat: Support metrics in --per-core/socket mode Andi Kleen
2016-03-01 12:31   ` Jiri Olsa
2016-03-01 18:52     ` Andi Kleen [this message]
2016-03-05  8:17   ` [tip:perf/core] perf " tip-bot for Andi Kleen
2016-02-29 22:36 ` [PATCH 4/7] perf, tools, stat: Document CSV format in manpage Andi Kleen
2016-03-01 12:32   ` Jiri Olsa
2016-02-29 22:36 ` [PATCH 5/7] perf, tools, stat: Implement --metric-only mode Andi Kleen
2016-03-01 12:32   ` Jiri Olsa
2016-03-01 14:53     ` Andi Kleen
2016-03-01 12:32   ` Jiri Olsa
2016-03-01 18:51     ` Andi Kleen
2016-03-02 11:28     ` Jiri Olsa
2016-03-02 15:38       ` Andi Kleen
2016-03-02 15:46         ` Jiri Olsa
2016-02-29 22:36 ` [PATCH 6/7] perf, tools, stat: Add --metric-only support for -A Andi Kleen
2016-02-29 22:36 ` [PATCH 7/7] perf, tools, stat: Check for frontend stalled for metrics Andi Kleen
2016-03-01 12:32   ` Jiri Olsa
2016-03-01 13:07 ` perf, tools: Refactor and support interval and CSV metrics Arnaldo Carvalho de Melo
  -- strict thread matches above, loose matches on Subject: below --
2016-03-01 18:57 Andi Kleen
2016-03-01 18:57 ` [PATCH 3/7] perf, tools, stat: Support metrics in --per-core/socket mode Andi Kleen
2016-03-03  0:24 perf, tools: Refactor and support interval and CSV metrics Andi Kleen
2016-03-03  0:24 ` [PATCH 3/7] perf, tools, stat: Support metrics in --per-core/socket mode Andi Kleen
2016-03-03 23:57 perf, tools: Refactor and support interval and CSV metrics Andi Kleen
2016-03-03 23:57 ` [PATCH 3/7] perf, tools, stat: Support metrics in --per-core/socket mode 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=20160301185250.GV5083@two.firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@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.