Re: [RFC PATCH] perf report: Don't add filtered events to histogram

From: Arnaldo Carvalho de Melo
Date: Tue Apr 14 2015 - 08:47:29 EST

Em Tue, Apr 14, 2015 at 01:05:03PM +0100, Steve Capper escreveu:
> If one filters events by a single comm in perf report via:
> perf report --no-children -c program-name

This seems right even without any explanation, wonder when was that this
bug was added or what is that we are missing here...

commit 2c86c7ca760634f09dcbd76069e5102b4de6f8f1
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
Date: Mon Mar 17 18:18:54 2014 -0300

perf report: Merge al->filtered with hist_entry->filtered

I.e. don't drop al->filtered entries, create the hist_entries and use
its ->filtered bitmap, that is kept with the same semantics for its
bitmap, leaving the filtering to be done at the hist_entry level, i.e.
in the UIs.

This will allow zooming in/out the filters.

Signed-off-by: Namhyung Kim <>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
[ yanked this out of a previous patch ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index c47bf586fcba..a74059f0c45f 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -231,7 +231,7 @@ static int process_sample_event(struct perf_tool
return -1;

- if (al.filtered || (rep->hide_unresolved && al.sym == NULL))
+ if (rep->hide_unresolved && al.sym == NULL)
return 0;

if (rep->cpu_list && !test_bit(sample->cpu, rep->cpu_bitmap))


So, yes, what you did was what was there in the first place, but now we
need to try to have the above cset in mind before proceeding...

- Arnaldo

> +++ b/tools/perf/builtin-report.c
> @@ -166,6 +166,9 @@ static int process_sample_event(struct perf_tool *tool,
> if ( != NULL)
>>dso->hit = 1;
> + if (al.filtered)
> + return 0;
> +
> ret = hist_entry_iter__add(&iter, &al, evsel, sample, rep->max_stack,
> rep);
> if (ret < 0)
> --
> 2.1.0
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at