perf script: Move filtering before scripting

To make it possible to use filtering with scripts, move filtering before
scripting.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20210621150514.32159-3-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Adrian Hunter 2021-06-21 18:05:05 +03:00 committed by Arnaldo Carvalho de Melo
parent 9300041c66
commit 4371fbc0c9

View File

@ -1984,12 +1984,6 @@ static void process_event(struct perf_script *script,
if (output[type].fields == 0)
return;
if (!show_event(sample, evsel, thread, al))
return;
if (evswitch__discard(&script->evswitch, evsel))
return;
++es->samples;
perf_sample__fprintf_start(script, sample, thread, evsel,
@ -2203,6 +2197,12 @@ static int process_sample_event(struct perf_tool *tool,
if (al.filtered)
goto out_put;
if (!show_event(sample, evsel, al.thread, &al))
goto out_put;
if (evswitch__discard(&scr->evswitch, evsel))
goto out_put;
if (scripting_ops) {
struct addr_location *addr_al_ptr = NULL;
struct addr_location addr_al;