All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Mike Galbraith <efault@gmx.de>, Paul Mackerras <paulus@samba.org>,
	Anton Blanchard <anton@samba.org>,
	Jens Axboe <jens.axboe@oracle.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: Re: [PATCH 5/5] perf report: Support callchains with relative overhead rate
Date: Sun, 5 Jul 2009 15:19:33 +0200	[thread overview]
Message-ID: <20090705131931.GA4912@nowhere> (raw)
In-Reply-To: <20090705083400.GB12783@elte.hu>

On Sun, Jul 05, 2009 at 10:34:00AM +0200, Ingo Molnar wrote:
> 
> * Frederic Weisbecker <fweisbec@gmail.com> wrote:
> 
> > The current callchain displays the overhead rates as absolute:
> > relative to the total overhead.
> > 
> > This patch provides relative overhead percentage, in which each
> > branch of the callchain tree is a independant instrumentated object.
> > 
> > You can produce such output by using the "relative" mode
> > that you can lower in r, re, rel, etc...
> > 
> > ./perf report -s sym -c relative
> > 
> > Example:
> > 
> >      8.46%  [k] copy_user_generic_string
> >                 |
> >                 |--52.01%-- generic_file_aio_read
> >                 |          do_sync_read
> >                 |          vfs_read
> >                 |          |
> >                 |          |--97.20%-- sys_pread64
> >                 |          |          system_call_fastpath
> >                 |          |          pread64
> >                 |          |
> >                 |           --2.81%-- sys_read
> >                 |                     system_call_fastpath
> >                 |                     __read
> >                 |
> >                 |--39.85%-- generic_file_buffered_write
> >                 |          __generic_file_aio_write_nolock
> >                 |          generic_file_aio_write
> >                 |          do_sync_write
> >                 |          reiserfs_file_write
> >                 |          vfs_write
> >                 |          |
> >                 |          |--97.05%-- sys_pwrite64
> >                 |          |          system_call_fastpath
> >                 |          |          __pwrite64
> >                 |          |
> >                 |           --2.95%-- sys_write
> >                 |                     system_call_fastpath
> >                 |                     __write_nocancel
> > [...]
> 
> Wow, this is extremely intuitive and powerful looking!
> 
> It's basically a fractal structure: each sub-graph looks like a 
> full-blown profile in itself. Thus the overhead of individual 
> components of the graph profile can be analyzed without having to 
> think in small numbers.
> 
> The above example shows it particularly well - it shows that in 
> regard to generic_file_buffered_write() overhead, the system is 
> doing 97% sys_pwrite64() calls and 3% sys_write() calls.
> 
> Thus i took the liberty to change your last patch in two ways: i 
> renamed 'relative' to 'fractal' (it was not a proper counterpart to 
> 'graph' anyway - we have no 'absolute' output mode name either), and 
> i changed it to be the default output mode. This stuff rocks!



Ok.

I first planned to add a submode, or more likely a parameter structured
like the following:

perf report -c layout,min,mode

where layout=flat|graph
and   mode=abs|rel

But relative flat doesn't make sense.
fractal is nice, it's just a pity that "graph" mode doesn't tell much
about it's absolute measure context.
 
> absolute-graph and flat mode can be displayed too, via the option, 
> as usual.
> 
> 	Ingo


  parent reply	other threads:[~2009-07-05 13:19 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-05  5:39 [PATCH 1/5] perf report: Warn on callchain output request from non-callchain file Frederic Weisbecker
2009-07-05  5:39 ` [PATCH 2/5] perf report: Use a modifiable string for default callchain options Frederic Weisbecker
2009-07-05  9:52   ` [tip:perfcounters/urgent] " tip-bot for Frederic Weisbecker
2009-07-05  5:39 ` [PATCH 3/5] perf report: Change default callchain parameters Frederic Weisbecker
2009-07-05  9:52   ` [tip:perfcounters/urgent] " tip-bot for Frederic Weisbecker
2009-07-05  5:39 ` [PATCH 4/5] perf tools: callchains: Manage the cumul hits on the fly Frederic Weisbecker
2009-07-05  9:52   ` [tip:perfcounters/urgent] perf_counter " tip-bot for Frederic Weisbecker
2009-07-05  5:39 ` [PATCH 5/5] perf report: Support callchains with relative overhead rate Frederic Weisbecker
2009-07-05  8:34   ` Ingo Molnar
2009-07-05  8:59     ` Ingo Molnar
2009-07-05 13:23       ` Frederic Weisbecker
2009-07-05 13:19     ` Frederic Weisbecker [this message]
2009-07-05  9:52   ` [tip:perfcounters/urgent] perf report: Add "Fractal" mode output - support " tip-bot for Frederic Weisbecker
2009-07-05  9:51 ` [tip:perfcounters/urgent] perf report: Warn on callchain output request from non-callchain file tip-bot for Frederic Weisbecker

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=20090705131931.GA4912@nowhere \
    --to=fweisbec@gmail.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=anton@samba.org \
    --cc=efault@gmx.de \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=paulus@samba.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.