From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752221AbcAFXJr (ORCPT ); Wed, 6 Jan 2016 18:09:47 -0500 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:55402 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750938AbcAFXJo (ORCPT ); Wed, 6 Jan 2016 18:09:44 -0500 X-Original-SENDERIP: 156.147.1.126 X-Original-MAILFROM: namhyung@kernel.org X-Original-SENDERIP: 165.244.98.204 X-Original-MAILFROM: namhyung@kernel.org X-Original-SENDERIP: 10.177.227.17 X-Original-MAILFROM: namhyung@kernel.org Date: Thu, 7 Jan 2016 08:09:41 +0900 From: Namhyung Kim To: Arnaldo Carvalho de Melo CC: Jiri Olsa , Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , David Ahern , Steven Rostedt , Frederic Weisbecker , Andi Kleen , Wang Nan Subject: Re: [PATCH v3 1/5] perf tools: Add all matching dynamic sort keys for field name Message-ID: <20160106230941.GA8053@sejong> References: <1452041701-27689-1-git-send-email-namhyung@kernel.org> <20160106111939.GA8226@krava.brq.redhat.com> <20160106162948.GC10415@kernel.org> MIME-Version: 1.0 In-Reply-To: <20160106162948.GC10415@kernel.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-MIMETrack: Itemize by SMTP Server on LGEKRMHUB08/LGE/LG Group(Release 8.5.3FP6|November 21, 2013) at 2016/01/07 08:09:41, Serialize by Router on LGEKRMHUB08/LGE/LG Group(Release 8.5.3FP6|November 21, 2013) at 2016/01/07 08:09:41, Serialize complete at 2016/01/07 08:09:41 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 and Jiri, On Wed, Jan 06, 2016 at 01:29:48PM -0300, Arnaldo Carvalho de Melo wrote: > Em Wed, Jan 06, 2016 at 12:19:39PM +0100, Jiri Olsa escreveu: > > On Wed, Jan 06, 2016 at 09:54:57AM +0900, Namhyung Kim wrote: > > > When a perf.data file has multiple events, it's likely to be similar > > > (tracepoint) events. In that case, they might have same field name so > > > add all of them to sort keys instead of bailing out. > > > > > > In addition, it contains a trivial whitespace fix at callsite of > > > add_all_dynamic_fields(). > > > > > > Acked-by: Jiri Olsa > > > Signed-off-by: Namhyung Kim > > > > hum, I haven't tried with this last version but I get all > > hist tests failing on acme's perf/core and it seems to be > > related to sorting changes: > > Bisected it down to > > 0337e6473845 ("perf tools: Make 'trace' or 'trace_fields' sort key default for tracepoint events") > > Fixed with the following patch, which I'm folding into the above commit, > thanks for the report! Ouch, thank you for the fix! :) Thanks, Namhyung > > diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c > index acd222907bd6..4b4b1c5cccef 100644 > --- a/tools/perf/util/sort.c > +++ b/tools/perf/util/sort.c > @@ -2187,6 +2187,9 @@ static const char *get_default_sort_order(struct perf_evlist *evlist) > > BUG_ON(sort__mode >= ARRAY_SIZE(default_sort_orders)); > > + if (evlist == NULL) > + goto out_no_evlist; > + > evlist__for_each(evlist, evsel) { > if (evsel->attr.type != PERF_TYPE_TRACEPOINT) { > use_trace = false; > @@ -2199,7 +2202,7 @@ static const char *get_default_sort_order(struct perf_evlist *evlist) > if (symbol_conf.raw_trace) > return "trace_fields"; > } > - > +out_no_evlist: > return default_sort_orders[sort__mode]; > } > > > > [jolsa@krava perf]$ ./perf test hist > > 15: Test matching and linking multiple hists : FAILED! > > 25: Test filtering hist entries : FAILED! > > 28: Test output sorting of hist entries : FAILED! > > 29: Test cumulation of child hist entries : FAILED! > > > > > > [jolsa@krava perf]$ ./perf test 15 -v > > 15: Test matching and linking multiple hists : > > --- start --- > > test child forked, pid 10676 > > perf: Segmentation fault > > Obtained 16 stack frames. > > ./perf(dump_stack+0x2d) [0x50f1d7] > > ./perf(sighandler_dump_stack+0x2d) [0x50f2b7] > > /lib64/libc.so.6(+0x34a4f) [0x7fb0b1178a4f] > > ./perf() [0x508c40] > > ./perf() [0x508e23] > > ./perf(setup_sorting+0x26) [0x5097b0] > > ./perf(test__hists_link+0xb6) [0x487f43] > > ./perf() [0x4725c0] > > ./perf() [0x4726ff] > > ./perf() [0x472986] > > ./perf(cmd_test+0x1fe) [0x472ddc] > > ./perf() [0x49b2ab] > > ./perf() [0x49b513] > > ./perf() [0x49b661] > > ./perf(main+0x258) [0x49b9e2] > > /lib64/libc.so.6(__libc_start_main+0xef) [0x7fb0b11646ff] > > test child interrupted > > ---- end ---- > > Test matching and linking multiple hists: FAILED! > > > > > > thanks, > > jirka