From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752237AbcCBXQn (ORCPT ); Wed, 2 Mar 2016 18:16:43 -0500 Received: from LGEAMRELO11.lge.com ([156.147.23.51]:50527 "EHLO lgeamrelo11.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750797AbcCBXQm (ORCPT ); Wed, 2 Mar 2016 18:16:42 -0500 X-Original-SENDERIP: 156.147.1.151 X-Original-MAILFROM: namhyung@kernel.org X-Original-SENDERIP: 165.244.98.76 X-Original-MAILFROM: namhyung@kernel.org X-Original-SENDERIP: 10.177.227.17 X-Original-MAILFROM: namhyung@kernel.org Date: Thu, 3 Mar 2016 08:16:36 +0900 From: Namhyung Kim To: Arnaldo Carvalho de Melo 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: <20160302231636.GA19162@sejong> References: <1456935128-31299-1-git-send-email-namhyung@kernel.org> <20160302162507.GT3604@kernel.org> MIME-Version: 1.0 In-Reply-To: <20160302162507.GT3604@kernel.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-MIMETrack: Itemize by SMTP Server on LGEKRMHUB06/LGE/LG Group(Release 8.5.3FP6|November 21, 2013) at 2016/03/03 08:16:38, Serialize by Router on LGEKRMHUB06/LGE/LG Group(Release 8.5.3FP6|November 21, 2013) at 2016/03/03 08:16:38, Serialize complete at 2016/03/03 08:16:38 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnaldo, On Wed, Mar 02, 2016 at 01:25:07PM -0300, Arnaldo Carvalho de Melo wrote: > 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? The ';' is interpreted by shell first, so it needs to be quoted. $ perf report -s comm,dso;sym bash: sym: command not found Thanks, Namhyung > > 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