All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>,
	jolsa@kernel.org, linux-kernel@vger.kernel.org,
	Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH] perf, tools, report: Add support for srcfile sort key
Date: Mon, 10 Aug 2015 15:32:47 -0300	[thread overview]
Message-ID: <20150810183247.GE2521@kernel.org> (raw)
In-Reply-To: <20150810161241.GD2521@kernel.org>

Em Mon, Aug 10, 2015 at 01:12:41PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Sun, Aug 09, 2015 at 12:30:49PM +0900, Namhyung Kim escreveu:
> > Hi Andi,
> > 
> > On Sat, Aug 08, 2015 at 04:27:35AM +0200, Andi Kleen wrote:
> > > On Fri, Aug 07, 2015 at 09:02:15PM -0300, Arnaldo Carvalho de Melo wrote:
> > > > Em Fri, Aug 07, 2015 at 08:51:45PM -0300, Arnaldo Carvalho de Melo escreveu:
> > > > > Em Fri, Aug 07, 2015 at 03:54:24PM -0700, Andi Kleen escreveu:
> > > > > > From: Andi Kleen <ak@linux.intel.com>
> > > > > > 
> > > > > > In some cases it's useful to characterize samples by file. This is useful
> > > > > > to get a higher level categorization, for example to map cost to
> > > > > > subsystems.
> > > > > > 
> > > > > > Add a srcfile sort key to perf report. It builds on top of the existing
> > > > > > srcline support.
> > > > > 
> > > > > Applied
> > > > 
> > > > Humm, holding this up a bit, further testing showed some oddities,
> > > > fedora21, the width of the column is being limited to the lenght of the
> > > > header
> > > 
> > > Yes I've seen that, I just use -w normally. It also happens with --sort
> > > srcline. The column sizing code could probably be somewhat smarter and
> > > always allow the last column to become as wide as needed. But that's
> > > something that should be done separately; I don't think it belongs
> > > into this patch.
> > 
> > Maybe something like this?
> 
> Maybe, but it crashes when right->hists == NULL, perhaps that is some sort of
> placeholder? See the value of right (0x7fffffffc0a0)? looks like some static
> guard for something, will continue after lunch...
> 
> (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
> (gdb)
> 
> Due to this both "-s srcline" and "-s srcfile" crashes here.
> 
> - Arnaldo

Ok, this one needs to be applied before yours and Andi's:


diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index 137f6a92e5d0..c29c333609fe 100644
--- a/tools/perf/util/hist.c
+++ 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,
 		.thread = al->thread,
 		.comm = thread__comm(al->thread),

---------

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.

- Arnaldo
  
> > 
> > 
> > >From c052d17ae45ac08a381192191473ed3c4308c0c5 Mon Sep 17 00:00:00 2001
> > From: Namhyung Kim <namhyung@kernel.org>
> > Date: Sun, 9 Aug 2015 12:28:01 +0900
> > Subject: [PATCH] perf tools: Update srcline column length
> > 
> > It didn't calculate the column length so the default of header length
> > used only.  Update the length when we get the srcline actually.
> > 
> > Cc: Andi Kleen <andi@firstfloor.org>
> > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> > ---
> >  tools/perf/util/sort.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
> > index 5177088a71d3..85e7e3e75d39 100644
> > --- a/tools/perf/util/sort.c
> > +++ b/tools/perf/util/sort.c
> > @@ -291,6 +291,8 @@ sort__srcline_cmp(struct hist_entry *left, struct hist_entry *right)
> >  			left->srcline = get_srcline(map->dso,
> >  					   map__rip_2objdump(map, left->ip),
> >  						    left->ms.sym, true);
> > +			hists__new_col_len(left->hists, HISTC_SRCLINE,
> > +					   strlen(left->srcline));
> >  		}
> >  	}
> >  	if (!right->srcline) {
> > @@ -301,6 +303,8 @@ sort__srcline_cmp(struct hist_entry *left, struct hist_entry *right)
> >  			right->srcline = get_srcline(map->dso,
> >  					     map__rip_2objdump(map, right->ip),
> >  						     right->ms.sym, true);
> > +			hists__new_col_len(right->hists, HISTC_SRCLINE,
> > +					   strlen(right->srcline));
> >  		}
> >  	}
> >  	return strcmp(right->srcline, left->srcline);
> > -- 
> > 2.5.0

  reply	other threads:[~2015-08-10 18:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-07 22:54 [PATCH] perf, tools, report: Add support for srcfile sort key Andi Kleen
2015-08-07 23:51 ` Arnaldo Carvalho de Melo
2015-08-08  0:02   ` Arnaldo Carvalho de Melo
2015-08-08  2:27     ` Andi Kleen
2015-08-08 17:28       ` Arnaldo Carvalho de Melo
2015-08-09  3:30       ` Namhyung Kim
2015-08-09 16:03         ` Andi Kleen
2015-08-10 14:51           ` Arnaldo Carvalho de Melo
2015-08-10 16:12         ` Arnaldo Carvalho de Melo
2015-08-10 18:32           ` Arnaldo Carvalho de Melo [this message]
2015-08-10 20:37             ` Arnaldo Carvalho de Melo
2015-08-11  2:28               ` Namhyung Kim
2015-08-12 12:30 ` [tip:perf/core] perf " tip-bot for Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150810183247.GE2521@kernel.org \
    --to=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=andi@firstfloor.org \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.