lkml.org 
[lkml]   [2012]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 4/5] perf diff: Use internal rb tree for compute resort
Date
On Thu, 6 Dec 2012 17:51:36 +0100, Jiri Olsa wrote:
> On Fri, Dec 07, 2012 at 12:09:40AM +0900, Namhyung Kim wrote:
>> From: Namhyung Kim <namhyung.kim@lge.com>
>>
>> There's no reason to run hists_compute_resort() using output tree.
>> Convert it to use internal tree so that it can remove unnecessary
>> _output_resort.
>
> I have another patch in queue ommiting dummy entries to display
> number in the compute column, so we don't have confusing 'sorted'
> outputs like:
>
> [jolsa@krava perf]$ ./perf diff -c+delta
> # Event 'cycles:u'
> #
> # Baseline Delta Shared Object Symbol
> # ........ ....... ............. ..........................
> #
> 17.92% -17.92% libc-2.15.so [.] _IO_link_in
> +77.54% libc-2.15.so [.] __fprintf_chk
> 15.64% -15.64% libc-2.15.so [.] _dl_addr
> 0.08% +0.61% ld-2.15.so [.] _start
> 12.16% -12.16% ld-2.15.so [.] dl_main
> 15.39% -15.39% ld-2.15.so [.] _dl_check_map_versions
> 38.81% -17.04% [kernel.kallsyms] [k] page_fault
>
> just in case anyone actualy tries and wonders ;)

Sounds great!

>
> We need following change as well, because output resort does
> also col width recalc. Please add it if you respin, or I can
> send it later.

Okay, I'll resend a new version after getting a reply on the patch 2/5
from Arnaldo. It'd be better if you send me a formal patch for this.

>
> other than that:
>
> Acked-by: Jiri Olsa <jolsa@redhat.com>

Thanks,
Namhyung

>
> ---
> diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
> index f66968e..6f56f78 100644
> --- a/tools/perf/builtin-diff.c
> +++ b/tools/perf/builtin-diff.c
> @@ -425,12 +425,15 @@ static void hists__compute_resort(struct hists *hists)
> hists->entries = RB_ROOT;
> next = rb_first(root);
>
> + hists__reset_col_len(hists);
> +
> while (next != NULL) {
> struct hist_entry *he;
>
> he = rb_entry(next, struct hist_entry, rb_node_in);
> next = rb_next(&he->rb_node_in);
>
> + hists__calc_col_len(hists, he);
> insert_hist_entry_by_compute(&hists->entries, he, compute);
> }
> }


\
 
 \ /
  Last update: 2012-12-07 10:21    [W:0.112 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site