public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Ingo Molnar <mingo@kernel.org>, Jiri Olsa <jolsa@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>,
	David Ahern <dsahern@gmail.com>,
	Stephane Eranian <eranian@google.com>,
	Andi Kleen <andi@firstfloor.org>,
	Minchan Kim <minchan@kernel.org>
Subject: Re: [RFC/PATCH] perf stat: Show sample events stat for a data file
Date: Wed, 29 Apr 2015 20:58:22 +0900	[thread overview]
Message-ID: <20150429115822.GA31120@danjae.kornet> (raw)
In-Reply-To: <20150429092751.GR5029@twins.programming.kicks-ass.net>

Hi Peter,

On Wed, Apr 29, 2015 at 11:27:51AM +0200, Peter Zijlstra wrote:
> On Wed, Apr 29, 2015 at 04:27:45PM +0900, Namhyung Kim wrote:
> > Add --input option to 'perf stat' so that it can show event stats of the
> > file.  I would like to use a short '-i' option to be compatible with
> > other commands but it was already taken by '--no-inherit' option, so it
> > only supports the long option.
> > 
> > The example output looks like below:
> > 
> >   $ perf record -a sleep 1
> >   [ perf record: Woken up 1 times to write data ]
> >   [ perf record: Captured and wrote 0.635 MB perf.data (1946 samples) ]
> > 
> >   $ perf stat --input perf.data
> > 
> >     Total event stats for 'perf.data' file:
> > 
> >               TOTAL events:       6837
> >                MMAP events:        116
> >                COMM events:        375
> >                EXIT events:          2
> >            THROTTLE events:         12
> >          UNTHROTTLE events:         11
> >                FORK events:        374
> >              SAMPLE events:       1946
> >               MMAP2 events:       3999
> >      FINISHED_ROUND events:          2
> > 
> >    Sample event stats:
> > 
> >          361,255,234      cycles
> >                1,946      samples                   #   sampling ratio  12.162% (486/4000)
> > 
> >          0.998581085 second time sampled
> 
> It would be nice if this thing could support 'perf record -s' which
> enables perf_event_attr::inherit_stat, which in turn results in
> PERF_RECORD_READ entries after every PERF_RECORD_EXIT which give the
> total number of events for each recorded task.

Hmm.. this is one of the areas that I don't understand what's going
on.  It'd be nice if you can help me understand and possibly improve
the doc too.

So the combination of 'perf record -s' and 'perf report -T' should
show some per-thread counter values, right?  I've found a bug on it.

Anyway, I don't understand the numbers it shows.

  $ perf record -s -- perf bench sched messaging
  # Running 'sched/messaging' benchmark:
  # 20 sender and receiver processes per group
  # 10 groups == 400 processes run

       Total time: 0.192 [sec]
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.376 MB perf.data (6806 samples) ]


  $ perf report -T --stdio
  ...
  #  PID   TID           cycles           cycles                cycles                cycles                cycles
    9728  9728          5865527                0                     0                     0                     0
    9686  9686                0                0               5692534                     0                     0
    9650  9650                0                0                     0                     0                     0
    9649  9649          5578209                0                     0                     0                     0
    9685  9685          6227490                0                     0                     0                     0
    9596  9596                0  140483569056856                     0                     0                     0
    9837  9837           120079  140483569056856                     0                     0                     0
    9561  9561                0  140483569056856                     0                     0                     0
    9475  9475                0         46264256                     0                 14012                 14172
  ...

  $ perf stat --input perf.data

   Total event stats for 'perf.data.inherit' file:

             TOTAL events:       9370
              MMAP events:        140
              COMM events:          2
              EXIT events:        401
              FORK events:        400
              READ events:       1600
            SAMPLE events:       6806
             MMAP2 events:         20
    FINISHED_ROUND events:          1

   Sample event stats:

     2,984,107,504      cycles
             6,806      samples                   #   sampling ratio  161.107% (6444/4000)

       0.264032172 second time sampled

So the cycles values on 'perf report -T' are a lot more than the value
of perf stat.  And I have no idea why it shows 5 different cycles for
each thread.  Could you shed some light on this?

Thanks,
Namhyung

  reply	other threads:[~2015-04-29 11:59 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-29  7:27 [RFC/PATCH] perf stat: Show sample events stat for a data file Namhyung Kim
2015-04-29  7:42 ` Jiri Olsa
2015-04-29  7:58   ` Namhyung Kim
2015-04-29  9:27 ` Peter Zijlstra
2015-04-29 11:58   ` Namhyung Kim [this message]
2015-05-08 14:46     ` Peter Zijlstra
2015-05-09 14:39       ` Namhyung Kim

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=20150429115822.GA31120@danjae.kornet \
    --to=namhyung@kernel.org \
    --cc=acme@kernel.org \
    --cc=andi@firstfloor.org \
    --cc=dsahern@gmail.com \
    --cc=eranian@google.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=minchan@kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox