lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130624231426.GY22203@biohazard-cafe.mit.edu>
Date:	Mon, 24 Jun 2013 19:14:27 -0400
From:	Greg Price <price@....EDU>
To:	Ingo Molnar <mingo@...nel.org>
Cc:	Jiri Olsa <jolsa@...hat.com>,
	Arnaldo Carvalho de Melo <acme@...stprotocols.net>,
	linux-kernel@...r.kernel.org,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Paul Mackerras <paulus@...ba.org>,
	Ingo Molnar <mingo@...hat.com>,
	David Ahern <dsahern@...il.com>,
	Pekka Enberg <penberg@...nel.org>,
	Namhyung Kim <namhyung@...nel.org>,
	Namhyung Kim <namhyung.kim@....com>
Subject: Re: [PATCH] perf report: Add option to collapse undesired parts of
 call graph

On Mon, Jun 24, 2013 at 10:32:53AM +0200, Ingo Molnar wrote:
> * Jiri Olsa <jolsa@...hat.com> wrote:
> > It could also make sense to allow sorting on this
> > the same way as we do for '-s parent' and report only
> > '[other]' and 'blackbox' entries.
> > 
> > Also I dont like the 'blackbox' option name, it should
> > complement the parent option somehow.. but no idea ;-)
> 
> Looks like a nice feature.

Thanks, good to hear!


> Maybe calling it '--collapse' would be a better name?
> 
> By default the call-graphs are all expanded to maximum. With this option 
> certain function(s) and all their child chains can be collapsed.

Maybe.  But what this does is actually a bit of an inverse of the
collapsing one does in the front-end (with 'C' or with enter, etc.);
unless we have --inverted/-G, the collapsing one can do interactively
is of the various *callers*, recursively, of a function, whereas this
collapses the recursive *callees*.  Or in other words, interactively
one may collapse or expand a subtree of the display; with this option
one collects together and merges all the subtrees that have a given
symbol name at their respective roots.

So this is doing something that can't be achieved by just doing some
grunt work in the front-end as a user, and it might be confusing to
give it the same name as the interactive thing.

If you're investigating the kind of question that --inverted/-G is
good for answering, then this is the same thing one can do with that
grunt work, but in that case the option is less interesting. :)  The
example in my commit message, which comes from a real use case, is
without -G.

Perhaps --coalesce, but that's a little mysterious.  --trim-callees?
--ignore-callees?  --ignore-inside?  --strip-callees?  --trim-inside?


> --parent filters the call-chains, excluding all others that don't include 
> this parent. It might make sense to rename it to --filter?

Sure, maybe so.  I don't have a firm opinion on the name or exact
semantics of --parent.


> It would also be nice if all these visualization variants were available 
> in the GTK front-end.

TBH I'm not really familiar with the GTK front-end, as I mainly use
the TUI.  At a quick trial, it looks like --blackbox has the expected
effect on the display there; though with or without --blackbox I can't
seem to get the entries to expand to show me a call-graph profile, so
it's hard to demonstrate it fully.  Not sure what I may have done
wrong in building or running perf to make that not work (or is that
expected?)

What changes do you have in mind to make these available in the GTK
front-end?


Cheers,
Greg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ