perf report: Don't show unresolved DSOs and symbols when -S/-d is used
authorArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 12 Aug 2009 21:19:57 +0000 (18:19 -0300)
committerIngo Molnar <mingo@elte.hu>
Thu, 13 Aug 2009 10:05:52 +0000 (12:05 +0200)
We're interested in just those symbols/DSOs, so filter out the
unresolved ones.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <20090812211957.GE3495@ghostprotocols.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/builtin-report.c

index 23e1457f2409dec51d70017ab7729df252104f82..b53a60fc12de77115218a275235df61fdb61da09 100644 (file)
@@ -1590,10 +1590,11 @@ process_sample_event(event_t *event, unsigned long offset, unsigned long head)
        if (show & show_mask) {
                struct symbol *sym = resolve_symbol(thread, &map, &dso, &ip);
 
-               if (dso_list && dso && dso->name && !strlist__has_entry(dso_list, dso->name))
+               if (dso_list && (!dso || !dso->name ||
+                                !strlist__has_entry(dso_list, dso->name)))
                        return 0;
 
-               if (sym_list && sym && !strlist__has_entry(sym_list, sym->name))
+               if (sym_list && (!sym || !strlist__has_entry(sym_list, sym->name)))
                        return 0;
 
                if (hist_entry__add(thread, map, dso, sym, ip, chain, level, period)) {