perf ui: Add search by name/addr to the map__browser
Only in verbose mode so as not to bloat struct symbol too much.
The key used is '/', just like in vi, less, etc.
More work is needed to allocate space on the symbol in a more clear way.
This experiment shows how to do it for the hist_browser, in the main
window.
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Stephane Eranian <eranian@google.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 2f4b929..4a7a743 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -478,8 +478,24 @@
* so don't allocate extra space that won't be used in the stdio
* implementation.
*/
- if (use_browser > 0)
+ if (use_browser > 0) {
symbol_conf.priv_size = sizeof(struct sym_priv);
+ /*
+ * For searching by name on the "Browse map details".
+ * providing it only in verbose mode not to bloat too
+ * much struct symbol.
+ */
+ if (verbose) {
+ /*
+ * XXX: Need to provide a less kludgy way to ask for
+ * more space per symbol, the u32 is for the index on
+ * the ui browser.
+ * See symbol__browser_index.
+ */
+ symbol_conf.priv_size += sizeof(u32);
+ symbol_conf.sort_by_name = true;
+ }
+ }
if (symbol__init() < 0)
return -1;