lkml.org 
[lkml]   [2016]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: RFC: callchain showing same entry as hist_entry
Hi Arnaldo,

On Tue, Aug 16, 2016 at 11:36:28AM -0300, Arnaldo Carvalho de Melo wrote:
> Hi Namhyung, Jiri,
>
> please take a look at the patch below, and Ack if possible, it
> is a problem introduced in:
>
> cfaa154b2335 ("perf tools: Get rid of obsolete hist_entry__sort_list")
>
> That is not equivalent to the code that was there and results in having
> the same entry as the first entry for the callchain as in the
> hist_entry, which is annoying and doesn't match the original intent of
> that 'continue' branch, as described in the comment right above it.

AFAIK the intent was to skip first callchain entry iff the first sort
key is 'symbol'. The sort_order being NULL means it'd use the default
sort key which is 'comm,dso,sym' so it should not skip the first
callchain entry.

The original code (before cfaa154b2335) was like below:

- if (!i++ && sort__first_dimension == SORT_SYM)
+ if (!i++ && field_order == NULL &&
+ sort_order && !prefixcmp(sort_order, "sym"))

I think the current code works as intended, no?

Thanks,
Namhyung


>
> Now looking at doing the same for the TUI...
>
> - Arnaldo
>
> diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c
> index 9b65f4a6b35a..46a083e59ce9 100644
> --- a/tools/perf/ui/stdio/hist.c
> +++ b/tools/perf/ui/stdio/hist.c
> @@ -207,7 +207,7 @@ static size_t callchain__fprintf_graph(FILE *fp, struct rb_root *root,
> * displayed twice.
> */
> if (!i++ && field_order == NULL &&
> - sort_order && !prefixcmp(sort_order, "sym"))
> + (sort_order == NULL || !prefixcmp(sort_order, "sym")))
> continue;
> if (!printed) {
> ret += callchain__fprintf_left_margin(fp, left_margin);

\
 
 \ /
  Last update: 2016-09-17 09:57    [W:0.051 / U:0.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site