From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755451AbcCBQZP (ORCPT ); Wed, 2 Mar 2016 11:25:15 -0500 Received: from mail.kernel.org ([198.145.29.136]:37836 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751923AbcCBQZN (ORCPT ); Wed, 2 Mar 2016 11:25:13 -0500 Date: Wed, 2 Mar 2016 13:25:07 -0300 From: Arnaldo Carvalho de Melo To: Namhyung Kim Cc: Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , David Ahern , Andi Kleen , Stephane Eranian , Wang Nan Subject: Re: [PATCHSET 0/8] perf tools: Support multiple keys in a single hierarchy level (v1) Message-ID: <20160302162507.GT3604@kernel.org> References: <1456935128-31299-1-git-send-email-namhyung@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1456935128-31299-1-git-send-email-namhyung@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Thu, Mar 03, 2016 at 01:12:00AM +0900, Namhyung Kim escreveu: > Hello, > > This implements what Arnaldo suggested in previous discussion of > hierarchy patchset [1]. Originally each level in a hierarchy can have > a single sort key in it, but with patches it's possible to have more > than one sort keys. I added the struct perf_hpp_list_node and carry > it to group output formats (hpp_fmt) in a single level. > > I used ':' character instead of '+' as suggested since the '+' was > also used to extend existing sort keys (like -s '+cpu'). Could we use ';' instead? That is associated with lists as well, i.e.: perf report --hierarchy -s prev_pid;prev_comm,next_pid;next_comm What do you think? Others? But anyway, thanks for working on this, I'll try and test it, - Arnaldo > Example below shows how 4 sort keys are used for 2 levels. As you can > see, the first level shows pid and comm of previous (switched) task > and the second level shows pid and comm of next task. > > $ perf report --hierarchy -s prev_pid:prev_comm,next_pid:next_comm \ > --percent-limit 1 -i perf.data.sched > ... > # Overhead prev_pid+prev_comm / next_pid+next_comm > # ........... ....................................... > # > 22.36% 0 swapper/0 > 9.48% 17773 transmission-gt > 5.25% 109 kworker/0:1H > 1.53% 6524 Xephyr > 21.39% 17773 transmission-gt > 9.52% 0 swapper/0 > 9.04% 0 swapper/2 > 1.78% 0 swapper/3 > > > It's available on the 'perf/hierarchy-multi-v1' branch in my tree > > git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git > > > Any feedbacks are welcome > > Thanks, > Namhyung > > > [1] https://lkml.org/lkml/2016/2/24/1041 > > > Namhyung Kim (8): > perf tools: Add level field to struct perf_hpp_fmt > perf tools: Introduce perf_hpp__setup_hists_formats() > perf tools: Use own hpp_list for hierarchy mode > perf tools: Support multiple sort keys in a hierarchy > perf tools: Fix indent for multiple hierarchy sort key > perf report: Use hierarchy hpp list on stdio > perf hists browser: Use hierarchy hpp list > perf report: Use hierarchy hpp list on gtk > > tools/perf/ui/browsers/hists.c | 147 +++++++++++++++++++---------------- > tools/perf/ui/gtk/hists.c | 73 +++++++++++------- > tools/perf/ui/hist.c | 67 ++++++++++++++++ > tools/perf/ui/stdio/hist.c | 171 +++++++++++++++++++++-------------------- > tools/perf/util/hist.c | 81 +++++++++++++------ > tools/perf/util/hist.h | 12 +++ > tools/perf/util/sort.c | 123 ++++++++++++++++++++--------- > tools/perf/util/sort.h | 1 + > 8 files changed, 438 insertions(+), 237 deletions(-) > > -- > 2.7.1