[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121206165136.GA27199@krava.brq.redhat.com>
Date: Thu, 6 Dec 2012 17:51:36 +0100
From: Jiri Olsa <jolsa@...hat.com>
To: Namhyung Kim <namhyung@...nel.org>
Cc: Arnaldo Carvalho de Melo <acme@...stprotocols.net>,
Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
LKML <linux-kernel@...r.kernel.org>,
Namhyung Kim <namhyung.kim@....com>,
Stephane Eranian <eranian@...gle.com>
Subject: Re: [PATCH 4/5] perf diff: Use internal rb tree for compute resort
On Fri, Dec 07, 2012 at 12:09:40AM +0900, Namhyung Kim wrote:
> From: Namhyung Kim <namhyung.kim@....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@...va 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 ;)
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.
other than that:
Acked-by: Jiri Olsa <jolsa@...hat.com>
thanks,
jirka
---
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);
}
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists