All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arun Sharma <asharma@fb.com>
To: Namhyung Kim <namhyung.kim@lge.com>
Cc: Ingo Molnar <mingo@elte.hu>, Namhyung Kim <namhyung@gmail.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Stephane Eranian <eranian@google.com>,
	<linux-kernel@vger.kernel.org>, <dsahern@gmail.com>,
	<ravitillo@lbl.gov>, <khandual@linux.vnet.ibm.com>,
	<robert.richter@amd.com>, <ming.m.lin@intel.com>,
	<vweaver1@eecs.utk.edu>, <andi@firstfloor.org>
Subject: Re: [RFC] perf report: Implement symbol filtering on TUI
Date: Thu, 15 Mar 2012 14:46:09 -0700	[thread overview]
Message-ID: <4F626321.3060001@fb.com> (raw)
In-Reply-To: <4F613B68.2040004@lge.com>

On 3/14/12 5:44 PM, Namhyung Kim wrote:

> Thanks for reviewing and sending the patch.
>
> However this was already fixed on my new patch set. Please see below:
>
> https://lkml.org/lkml/2012/3/13/73
>

I still get different behaviors with and without my two line patch.

Try:

perf record -g
perf report c -G -g graph,0.5,caller -s inclusive --stdio

I don't see where hists__filter_by_symbol() gets called when using --stdio.

But let's examine what I think is a more important general issue (not 
specific to your patch):

Here's the behavior my coworkers are requesting. With the test program I 
mailed earlier with this callgraph:

./perf report -G -g graph,0.5,caller -s pid --stdio

   100.00%            foo:30804
             |
             --- __libc_start_main
                |
                 --99.87%-- main
                           |
                           |--50.01%-- a
                           |          |
                           |           --42.71%-- c
                           |                     |
                           |                     |--14.36%-- e
                           |                     |          |
                           |                     |           --7.09%-- f
                           |                     |
                           |                      --14.33%-- d
                           |                                |
                           |                                 --6.81%-- f
                           |
                            --49.86%-- b
                                      |
                                       --42.72%-- c
                                                 |
                                                 |--14.43%-- d
                                                 |          |
                                                 |           --7.30%-- f
                                                 |
                                                  --14.13%-- e
                                                            |
                                                             --7.05%-- f

If the user filters by "d", we should:

a) Construct a callgraph that has only callchains containing "d"
b) Express percentages as a fraction of the unfiltered total_period
c) Allow users to expand callchains and see both the callers and callees 
of d.

Right now, I can do this in two steps:

# Get the callgraph leading to "d"
perf report -S d -G -g graph,0.5,callee

  100.00%      foo  foo
                 |
                 --- __libc_start_main
                     main
                    |
                    |--51.37%-- a
                    |          c
                    |          d
                    |
                     --48.63%-- b
                               c
                               d

# Get the callgraph below "d" (i.e. where d is the caller)

perf report d -G -g graph,0.5,caller -s inclusive

    95.56%  [.] d
             |
             --- d
                |
                 --46.88%-- f

and the percentages are not expressed as a percentages of the total_period.

I'll send out a RFC patch next.

  -Arun

  reply	other threads:[~2012-03-15 21:46 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-24  9:40 [PATCH] perf report: auto-detect branch stack sampling mode Stephane Eranian
2012-02-24 15:24 ` David Ahern
2012-02-24 15:28   ` Stephane Eranian
2012-02-24 15:31     ` David Ahern
2012-02-24 15:40       ` Stephane Eranian
2012-02-24 15:49         ` David Ahern
2012-02-24 15:51           ` Stephane Eranian
2012-03-02 17:47             ` Stephane Eranian
2012-03-02 19:08               ` Arnaldo Carvalho de Melo
2012-03-03 19:43                 ` Arnaldo Carvalho de Melo
2012-03-05 10:49                   ` Ingo Molnar
2012-03-05 11:11                     ` Peter Zijlstra
2012-03-05 15:47 ` Ingo Molnar
2012-03-05 15:50   ` Ingo Molnar
2012-03-05 15:56     ` Ingo Molnar
2012-03-05 16:30       ` Peter Zijlstra
2012-03-05 16:32         ` Stephane Eranian
2012-03-05 17:20           ` Ingo Molnar
2012-03-05 20:35         ` Arnaldo Carvalho de Melo
2012-03-05 21:43           ` Arun Sharma
2012-03-05 22:26             ` Arnaldo Carvalho de Melo
2012-03-05 23:35               ` Arun Sharma
2012-03-06  3:06                 ` Arnaldo Carvalho de Melo
2012-03-06  6:27                   ` Ingo Molnar
2012-03-06  6:25                 ` Ingo Molnar
2012-03-07  1:57                   ` [RFC] perf report: Implement symbol filtering on TUI Namhyung Kim
2012-03-07  6:07                     ` Ingo Molnar
2012-03-07  8:04                       ` Namhyung Kim
2012-03-08 10:44                         ` Ingo Molnar
2012-03-09  1:53                           ` Namhyung Kim
2012-03-09  7:36                             ` Ingo Molnar
2012-03-09  8:03                               ` Namhyung Kim
2012-03-14 23:11                     ` Arun Sharma
2012-03-15  0:44                       ` Namhyung Kim
2012-03-15 21:46                         ` Arun Sharma [this message]
2012-03-05 15:52   ` [PATCH] perf report: auto-detect branch stack sampling mode Stephane Eranian
2012-03-07 12:49   ` Stephane Eranian

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=4F626321.3060001@fb.com \
    --to=asharma@fb.com \
    --cc=acme@redhat.com \
    --cc=andi@firstfloor.org \
    --cc=dsahern@gmail.com \
    --cc=eranian@google.com \
    --cc=khandual@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ming.m.lin@intel.com \
    --cc=mingo@elte.hu \
    --cc=namhyung.kim@lge.com \
    --cc=namhyung@gmail.com \
    --cc=peterz@infradead.org \
    --cc=ravitillo@lbl.gov \
    --cc=robert.richter@amd.com \
    --cc=vweaver1@eecs.utk.edu \
    /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.