From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755780AbbJUTX7 (ORCPT ); Wed, 21 Oct 2015 15:23:59 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:46581 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751618AbbJUTX6 (ORCPT ); Wed, 21 Oct 2015 15:23:58 -0400 Date: Wed, 21 Oct 2015 16:23:50 -0300 From: Arnaldo Carvalho de Melo To: Brendan Gregg Cc: Chandler Carruth , Frederic Weisbecker , Ingo Molnar , LKML , Adrian Hunter , Borislav Petkov , David Ahern , Jiri Olsa , Namhyung Kim , Stephane Eranian , Wang Nan Subject: Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller' Message-ID: <20151021192350.GC32514@kernel.org> References: <20151009215626.GM14409@kernel.org> <20151009222504.GN14409@kernel.org> <20151020120033.GB5119@kernel.org> <20151020121948.GA29289@lerouge> <20151020130651.GC5119@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Wed, Oct 21, 2015 at 11:28:54AM -0700, Brendan Gregg escreveu: > On Tue, Oct 20, 2015 at 7:21 PM, Chandler Carruth wrote: > > Since Arnaldo asked, I thought I should actually try to respond specifically > > to the question of why I favor the 'caller' view as the default. > > > > On Tue, Oct 20, 2015 at 3:06 AM Arnaldo Carvalho de Melo > > wrote: > >> > >> > 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? > > > > > > So, first and foremost, thanks for fixing some of my gripes about the > > usability of the perf tool, I'm super excited about the changes you're > > making, even if this one isn't among them. > > > > I think the default of caller vs. callee is probably the hardest judgement > > call to make about the right defaults. I can see it going both ways. > > > > When profiling my *system*, or a diverse group of programs or tasks, I often > > find callee useful. Were I a kernel developer, I suspect callee would be > > *dramatically* more common than caller. > > > > For me, what makes the caller view much more frequently desired is that I'm > > usually profiling a fairly isolated application, or benchmark for an > > isolated library. While I always start off with some more system-level > > performance problem, I rarely need a detailed profile to get a reasonable > > idea of what subsystem to stare at, and then I spend days looking at a > > relatively isolated reproduction. > > > > Anyways, for profiling user-land applications, I suspect from my > > conversations with users that "caller" is the more common expectation. > [...] > > I would have said callee is the more common expectation, certainly for > system profilers. I quickly checked various tools to see what their > defaults are: > > callee: > > gdb > lldb > pstack > jstack > perf > stap > ktap > dtrace > kernel oops message > jvm crash > node.js/v8 crash > > caller: > > python traceback sysprof -> http://sysprof.com/screen-shot-4.png > > Python was the only one I knew off-hand that is caller by default (and > it includes the text "most recent call last", suggesting the > developers thought it was necessary to point out that it was > different). Do you know what tools/profilers/debuggers these users are > using? > > I really think people will be surprised if by default perf prints > stacks differently to gdb, lldb, oops messages, etc, etc. That may be > true for a specific developer community (eg, Python), but not for > system profilers. > > Brendan