From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933662AbbHKCo2 (ORCPT ); Mon, 10 Aug 2015 22:44:28 -0400 Received: from mail-pd0-f177.google.com ([209.85.192.177]:36796 "EHLO mail-pd0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933181AbbHKCo1 (ORCPT ); Mon, 10 Aug 2015 22:44:27 -0400 Date: Tue, 11 Aug 2015 11:28:07 +0900 From: Namhyung Kim To: Arnaldo Carvalho de Melo Cc: Andi Kleen , jolsa@kernel.org, linux-kernel@vger.kernel.org, Andi Kleen Subject: Re: [PATCH] perf, tools, report: Add support for srcfile sort key Message-ID: <20150811022807.GD2488@sejong> References: <1438988064-21834-1-git-send-email-andi@firstfloor.org> <20150807235145.GD3583@kernel.org> <20150808000215.GE3583@kernel.org> <20150808022735.GC1747@two.firstfloor.org> <20150809033049.GE29295@danjae.kornet> <20150810161241.GD2521@kernel.org> <20150810183247.GE2521@kernel.org> <20150810203740.GG2521@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20150810203740.GG2521@kernel.org> User-Agent: Mutt/1.5.23+102 (2ca89bed6448) (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 10, 2015 at 05:37:40PM -0300, Arnaldo Carvalho de Melo wrote: > Em Mon, Aug 10, 2015 at 03:32:47PM -0300, Arnaldo Carvalho de Melo escreveu: > > Em Mon, Aug 10, 2015 at 01:12:41PM -0300, Arnaldo Carvalho de Melo escreveu: > > > (gdb) fr 2 > > > #2 0x00000000004bb812 in sort__srcline_cmp (left=0x1bfa090, right=0x7fffffffc0a0) at util/sort.c:306 > > > 306 hists__new_col_len(right->hists, HISTC_SRCLINE, > > > (gdb) p right->hists > > > $7 = (struct hists *) 0x0 > > > (gdb) p left->hists > > > $8 = (struct hists *) 0x18d66e0 > > > > Due to this both "-s srcline" and "-s srcfile" crashes here. > > > Ok, this one needs to be applied before yours and Andi's: > > > +++ b/tools/perf/util/hist.c > > @@ -761,6 +761,7 @@ iter_add_next_cumulative_entry(struct hist_entry_iter *iter, > > struct hist_entry **he_cache = iter->priv; > > struct hist_entry *he; > > struct hist_entry he_tmp = { > > + .hists = evsel__hists(evsel), > > .cpu = al->cpu, > > --------- > > > Because you will use that stack synthesized he_tmp entry as a parameter > > to the cmp() function, that will end up trying to access he_tmp->hists, > > that was NULL, b00m. > > all this is moot, as we need to update that column length elsewhere, > together with all the other fileds, please see: > > ://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/commit/?h=perf/core&id=e8e6d37e73e6b950c891c780745460b87f4755b6 Looks good to me. > > And now, with it really updating the width, we get to another problem, > in one case I got a line like: > > 0.00% JS_GetInstancePrivate(JSContext*, JSObject*, JSClass*, JS /usr/lib64/libmozjs-24.so 0x1a0bd1 d [.] JS_GetInstancePrivate(JSContext*, JSObject*, JSClass*, JS::Value*) It seems like ':' character in the symbol name affects the result for some reason. Thanks, Namhyung > > Which is really strange, i.e. it mixed up demangled stuff with the > srcfile, i.e. normal lines for: > > perf report -v -s srcfile,dso,symbol --stdio > > Look like: > > 1.94% malloc.c /usr/lib64/libc-2.20.so 0x80f91 d [.] _int_malloc > > Anyway, will continue this later, together with checking why it doesn't resolve > many things, that one may be related, in some cases, to functions in assembly > source files, for now it updates correctly the column width for "srcline" and > "srcfile". > > - Arnaldo