public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@kernel.org>,
	Namhyung Kim <namhyung.kim@lge.com>,
	LKML <linux-kernel@vger.kernel.org>, Arun Sharma <asharma@fb.com>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Rodrigo Campos <rodrigo@sdfg.com.ar>
Subject: Re: [PATCH 01/28] perf tools: Insert filtered entries to hists also
Date: Thu, 9 Jan 2014 11:37:24 -0300	[thread overview]
Message-ID: <20140109143724.GE30069@ghostprotocols.net> (raw)
In-Reply-To: <1389272255.1722.24.camel@leonhard>

Em Thu, Jan 09, 2014 at 09:57:35PM +0900, Namhyung Kim escreveu:
> 2014-01-08 (수), 15:59 -0300, Arnaldo Carvalho de Melo:
> > Em Wed, Jan 08, 2014 at 05:22:53PM +0100, Jiri Olsa escreveu:
> > > On Wed, Jan 08, 2014 at 09:41:13AM -0300, Arnaldo Carvalho de Melo wrote:
> > > > Em Wed, Jan 08, 2014 at 05:46:06PM +0900, Namhyung Kim escreveu:
> > > > > Currently if a sample was filtered by command line option, it just
> > > > > dropped.  But this affects final output in that the percentage can be
> > > > > different since the filtered entries were not included to the total.
> > > > > 
> > > > > For example, if an original output looked like below:
> > > > 
> > > > Humm, if one says that he/she is interested on just samples for a and b,
> > > > the current behaviour will state how many of the filtered samples are
> > > > for a and b, which is valid.
> > > > 
> > > >  I bet the number of samples will reflect that as well, but you filtered
> > > > it out, yes, it stays there, so the percentages are relative to the
> > > > number of samples.
> > > > 
> > > > So I think this change in behaviour is wrong, no?

> > > haven't checked the implementation yet, but it kind of does
> > > what I'd expect for symbol filtering:

> > > perf report
> > > ...
> > >  22.00%  yes  libc-2.17.so       [.] __strlen_sse2
> > >  11.79%  yes  libc-2.17.so       [.] fputs_unlocked
> > >   9.65%  yes  libc-2.17.so       [.] __GI___mempcpy
> > >   1.91%  yes  yes                [.] fputs_unlocked@plt
> > > ...
> > > 
> > > search (press '/') for fputs_unlocked (with Namhyung's change):
> > >  11.79%  yes  libc-2.17.so  [.] fputs_unlocked
> > >   1.91%  yes  yes           [.] fputs_unlocked@plt
> > > 
> > > while the current one shows:
> > >  86.08%  yes  libc-2.17.so  [.] fputs_unlocked
> > >  13.92%  yes  yes           [.] fputs_unlocked@plt
> > > 
> > > which annoys me when searching for 'invisible' symbol
> > > within tons of others.. I had to do that grep thing
> > > you showed.
> > > 
> > > I'd like to have the Namhyung's change behaviour as default,
> > > but I'll be happy with some switch as well ;-)
> > 
> > I understand the desire for this different mode, looks indeed useful.
> 
> Yeah, the above is the reason why I wrote this firstly.  And then I
> thought it should be applied to the command line filter options too.

I don't have a problem with providing a new option, but for those who
think that when you filter samples based on some criteria the
percentages that should appear should be relative to the new, filtered,
total_period, that is a change in behaviour, so needs to be switchable.
 
> > So I think that this is a new feature and as so we should provide it as
> > an option, that may (or not) become the default.
> > 
> > Some concerns I have are that when we go on filtering we have to have
> > all the things that are zeroed to then get accrued for each hist entry
> > that matches the filter being applied and now at least a nr_entries
> > field got out of the if (al.filtered) block, i.e. in the end we will
> > have the number of hist entries entries filtered but continue having the
> > total period for all (filtered or not) hist entries.
 
> One thing related to it is when --children option is used.  Since total
> period is added only for a real sample, if the sample is filtered but
> the parents are not, the parents might have more than 100% overhead.

So when implementing the new option this has to be taken into account,
no problem (haven't really thought about the full implications here).
 
> > Having it as a separate feature would allow to have both views:
> > 
> > 1. the percentages relative to the filtered samples
> > 2. the percentages relative to all (filtered or not) samples
> > 
> > Being selectable on the command line and also with a hotkey to provide
> > two columns: %total, %filtered.
> 
> Hmm.. do you really want two columns instead of single column and a
> switch/option?  Then the (second) %filtered column will be shown up only
> if filtering is enabled.  Isn't it annoying for a dynamic filtering
> (i.e. '/' key on TUI)?

Hey, I'm not the one to decide this :-)

There _are_ two choices for how the percentage gets computed, if one
wants one, the other, or both, well, the hard part here is to decide the
default, but there are two options, showing one, the other or both
should be left to the user, even if after one or two keystrokes :)
 
> > So we would have new field: hists->stats.total_filtered_period, and
> > hists->stats.nr_filtered_entries, for this, etc.
> > 
> > What do you think?
> 
> I'm fine with it if we decide to support two columns at the same time.

See above, the difficult part is to figure out what should appear by
default.

- Arnaldo

  reply	other threads:[~2014-01-09 14:37 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-08  8:46 [PATCHSET 00/28] perf tools: Add support to accumulate hist periods (v5) Namhyung Kim
2014-01-08  8:46 ` [PATCH 01/28] perf tools: Insert filtered entries to hists also Namhyung Kim
2014-01-08 12:41   ` Arnaldo Carvalho de Melo
2014-01-08 16:22     ` Jiri Olsa
2014-01-08 18:59       ` Arnaldo Carvalho de Melo
2014-01-09 12:57         ` Namhyung Kim
2014-01-09 14:37           ` Arnaldo Carvalho de Melo [this message]
2014-01-14  0:15             ` Namhyung Kim
2014-01-08  8:46 ` [PATCH 02/28] perf tools: Do not update total period of a hists when filtering Namhyung Kim
2014-01-08  8:46 ` [PATCH 03/28] perf tools: Remove symbol_conf.use_callchain check Namhyung Kim
2014-01-08 12:57   ` Arnaldo Carvalho de Melo
2014-01-09 13:16     ` Namhyung Kim
2014-01-08  8:46 ` [PATCH 04/28] perf tools: Introduce struct hist_entry_iter Namhyung Kim
2014-01-08  8:46 ` [PATCH 05/28] perf hists: Convert hist entry functions to use struct he_stat Namhyung Kim
2014-01-08  8:46 ` [PATCH 06/28] perf hists: Add support for accumulated stat of hist entry Namhyung Kim
2014-01-08  8:46 ` [PATCH 07/28] perf hists: Check if accumulated when adding a " Namhyung Kim
2014-01-08  8:46 ` [PATCH 08/28] perf hists: Accumulate hist entry stat based on the callchain Namhyung Kim
2014-01-08  8:46 ` [PATCH 09/28] perf tools: Update cpumode for each cumulative entry Namhyung Kim
2014-01-08  8:46 ` [PATCH 10/28] perf report: Cache cumulative callchains Namhyung Kim
2014-01-09 18:06   ` Jiri Olsa
2014-01-13 23:55     ` Namhyung Kim
2014-01-14 13:17       ` Jiri Olsa
2014-01-11 16:02   ` Jiri Olsa
2014-01-13  8:45     ` Namhyung Kim
2014-01-08  8:46 ` [PATCH 11/28] perf callchain: Add callchain_cursor_snapshot() Namhyung Kim
2014-01-08  8:46 ` [PATCH 12/28] perf tools: Save callchain info for each cumulative entry Namhyung Kim
2014-01-08  8:46 ` [PATCH 13/28] perf hists: Sort hist entries by accumulated period Namhyung Kim
2014-01-08  8:46 ` [PATCH 14/28] perf ui/hist: Add support to accumulated hist stat Namhyung Kim
2014-01-08  8:46 ` [PATCH 15/28] perf ui/browser: " Namhyung Kim
2014-01-08  8:46 ` [PATCH 16/28] perf ui/gtk: " Namhyung Kim
2014-01-08  8:46 ` [PATCH 17/28] perf tools: Apply percent-limit to cumulative percentage Namhyung Kim
2014-01-08  8:46 ` [PATCH 18/28] perf tools: Add more hpp helper functions Namhyung Kim
2014-01-08  8:46 ` [PATCH 19/28] perf report: Add --children option Namhyung Kim
2014-01-08  8:46 ` [PATCH 20/28] perf report: Add report.children config option Namhyung Kim
2014-01-08  8:46 ` [PATCH 21/28] perf tools: Factor out sample__resolve_callchain() Namhyung Kim
2014-01-08  8:46 ` [PATCH 22/28] perf tools: Factor out fill_callchain_info() Namhyung Kim
2014-01-08  8:46 ` [PATCH 23/28] perf tools: Factor out hist_entry_iter code Namhyung Kim
2014-01-11 16:24   ` Jiri Olsa
2014-01-13  8:49     ` Namhyung Kim
2014-01-08  8:46 ` [PATCH 24/28] perf tools: Add callback function to hist_entry_iter Namhyung Kim
2014-01-08  8:46 ` [PATCH 25/28] perf top: Convert " Namhyung Kim
2014-01-11 16:35   ` Jiri Olsa
2014-01-13  8:55     ` Namhyung Kim
2014-01-13 10:45       ` Namhyung Kim
2014-01-08  8:46 ` [PATCH 26/28] perf top: Add --children option Namhyung Kim
2014-01-08  8:46 ` [PATCH 27/28] perf top: Add top.children config option Namhyung Kim
2014-01-08  8:46 ` [PATCH 28/28] perf tools: Enable --children option by default 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=20140109143724.GE30069@ghostprotocols.net \
    --to=acme@ghostprotocols.net \
    --cc=a.p.zijlstra@chello.nl \
    --cc=asharma@fb.com \
    --cc=fweisbec@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung.kim@lge.com \
    --cc=namhyung@kernel.org \
    --cc=paulus@samba.org \
    --cc=rodrigo@sdfg.com.ar \
    /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