Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'

From: Arnaldo Carvalho de Melo
Date: Tue Oct 20 2015 - 14:44:22 EST


Em Tue, Oct 20, 2015 at 07:21:16PM +0200, Frederic Weisbecker escreveu:
> On Tue, Oct 20, 2015 at 10:06:51AM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Tue, Oct 20, 2015 at 02:19:50PM +0200, Frederic Weisbecker escreveu:
> > > On Tue, Oct 20, 2015 at 09:00:34AM -0300, Arnaldo Carvalho de Melo wrote:
> > > > Em Mon, Oct 19, 2015 at 05:16:53PM -0700, Brendan Gregg escreveu:
> > > > So are you advocating different defaults, one for --stdio (callee),
> > > > another for --tui, --gtk (caller)?
> >
> > > > This is all configurable via ~/.perfconfig :-\
> >
> > > > Indeed, finding a default that is deemed adequate for most people is,
> > > > ho-hum, difficult 8-)
> >
> > > Most uses I've seen on LKML by the past involved callee because people
> > > mostly look at the precise point where a performance issue is.
> >
> > A good chunk of that was because that was the default?
>
> I doubt it. When you need to find the culprit of a syscall of IRQ performance issue,
> you don't care much to see __libc_start_main() / main() on the top of your callchain.

And I noticed some other shortcoming of this ordering (caller) the stack
closer to userspace in a typical perf.data with callchains (perf record
-g) can have bogus addresses (-fomit-frame-pointer) :-\

> > > IMHO changing that order is not a good idea. Unless many users complained
> > > about it.
> >
> > Perhaps there are not that many users of callchains because the default
> > is not what they're used to see?
> >
> > Motivation for the change came from a video from Chandler, that
> > resurfaced the callchain default issue, Chandler?
> >
> > Anedoctally, he tweeted about it and people seemed to like it.
>
> Well, I would prefer to hear from regular users than random twitter followers.
> I could be wrong so lets ask some users first.

That is why I put the "anedoctaly" :-)

> > > > Ingo, what do you think?
> >
> > What about providing a hotkey, in the tui, to toggle caller/callee
> > views, and another hotkey to save that in ~/.perfconfig so that becomes
> > the new default?

> That means rebuilding the whole tree, it might be costly and events need to
> be processed again.

I never tried to reimplement that with going to/from caller/caller in
mind, should do at some point, but yeah, reprocessing all entries can be
way costly.

> > In the --stdio mode we need to add a warning in the first lines,
> > something like:
> >
> > # This is caller (or callee) based, please use --callchain ... to change it
> >
> > One way or the other people will disagree, so making it easy to switch
> > to the preferred way would be nice to have?
>
> Agreed.

I'll probably revert this change in default and provide some way to
change it dynamically, just waiting a some more time for more comments.

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