Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754636AbbKCOl1 (ORCPT ); Tue, 3 Nov 2015 09:41:27 -0500 Received: from mail.kernel.org ([198.145.29.136]:34174 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751370AbbKCOl0 (ORCPT ); Tue, 3 Nov 2015 09:41:26 -0500 Date: Tue, 3 Nov 2015 11:40:53 -0300 From: Arnaldo Carvalho de Melo To: Namhyung Kim Cc: Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , Brendan Gregg , David Ahern , Frederic Weisbecker , Andi Kleen , Kan Liang Subject: Re: [PATCHSET 0/4] perf report: Support folded callchain output (v4) Message-ID: <20151103144053.GL21609@kernel.org> References: <1446555131-25495-1-git-send-email-namhyung@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1446555131-25495-1-git-send-email-namhyung@kernel.org> 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 Content-Length: 4579 Lines: 140 Em Tue, Nov 03, 2015 at 09:52:07PM +0900, Namhyung Kim escreveu: > Hello, > > This is what Brendan requested on the perf-users mailing list [1] to > support FlameGraphs [2] more efficiently. This patchset adds a few > more callchain options to adjust the output for it. > > * changes in v4) > - add missing doc update > - cleanup/fix callchain value print code > - add Acked-by from Brendan and Jiri Do those Acked-by stand? Things changed, the values moved from the end of the line to the start, etc. You said you would consider having a --no-hists, but I see nothing about it in this patchkit. Some more comments below. - Arnaldo > * changes in v3) > - put the value before callchains > - fix compile error > > > At first, 'folded' output mode was added. The folded output puts the > value, a space and all calchain nodes separated by semicolons. Now it > only supports --stdio as other UI provides some way of folding and/or > expanding callchains dynamically. > > The value is now can be one of 'percent', 'period', or 'count'. The > percent is current default output and the period is the raw number of > sample periods. The count is the number of samples for each callchain. > > Here's an example: > > $ perf report --no-children --show-nr-samples --stdio -g folded,count > ... > 39.93% 80 swapper [kernel.vmlinux] [k] intel_idel > 57 intel_idle;cpuidle_enter_state;cpuidle_enter;call_cpuidle;cpu_startup_entry;start_secondary > 23 intel_idle;cpuidle_enter_state;cpuidle_enter;call_cpuidle;cpu_startup_entry;rest_init;... > > > $ perf report --no-children --stdio -g percent So, in this first one you show the percent in both > ... > 39.93% swapper [kernel.vmlinux] [k] intel_idel > | > ---intel_idle > cpuidle_enter_state > cpuidle_enter > call_cpuidle > cpu_startup_entry > | > |--28.63%-- start_secondary > | > --11.30%-- rest_init > > > $ perf report --no-children --stdio --show-total-period -g period > ... then here you _add_ the period to the hist_entry line, but... > 39.93% 13018705 swapper [kernel.vmlinux] [k] intel_idel > | > ---intel_idle > cpuidle_enter_state > cpuidle_enter > call_cpuidle > cpu_startup_entry > | _replace_ the percentage with the period in the callchains. Can't we have the same effect in both? I.e. I would expect the 39.93% to simply be replaced with that 13018705. > |--9334403-- start_secondary > | > --3684302-- rest_init > > > $ perf report --no-children --stdio --show-nr-samples -g count > ... > 39.93% 80 swapper [kernel.vmlinux] [k] intel_idel Ditto for count > | > ---intel_idle > cpuidle_enter_state > cpuidle_enter > call_cpuidle > cpu_startup_entry > | > |--57-- start_secondary > | > --23-- rest_init > > > You can get it from 'perf/callchain-fold-v4' branch on my tree: > > git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git > > Any comments are welcome, thanks > Namhyung > > > [1] http://www.spinics.net/lists/linux-perf-users/msg02498.html > [2] http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html > > > Namhyung Kim (4): > perf report: Support folded callchain mode on --stdio > perf callchain: Abstract callchain print function > perf callchain: Add count fields to struct callchain_node > perf report: Add callchain value option > > tools/perf/Documentation/perf-report.txt | 13 +++-- > tools/perf/builtin-report.c | 4 +- > tools/perf/ui/browsers/hists.c | 8 +-- > tools/perf/ui/gtk/hists.c | 8 +-- > tools/perf/ui/stdio/hist.c | 93 ++++++++++++++++++++++++++------ > tools/perf/util/callchain.c | 87 +++++++++++++++++++++++++++++- > tools/perf/util/callchain.h | 24 ++++++++- > tools/perf/util/util.c | 3 +- > 8 files changed, 205 insertions(+), 35 deletions(-) > > -- > 2.6.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/