On Sat, Feb 18, 2023 at 10:13:24PM -0800, Namhyung Kim wrote: SNIP > diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c > index 8374117e66f6..6429915d376d 100644 > --- a/tools/perf/builtin-record.c > +++ b/tools/perf/builtin-record.c > @@ -52,6 +52,7 @@ > #include "util/pmu-hybrid.h" > #include "util/evlist-hybrid.h" > #include "util/off_cpu.h" > +#include "util/bpf-filter.h" > #include "asm/bug.h" > #include "perf.h" > #include "cputopo.h" > @@ -1364,6 +1365,14 @@ static int record__open(struct record *rec) > > session->evlist = evlist; > perf_session__set_id_hdr_size(session); > + > + evlist__for_each_entry(evlist, pos) { > + if (list_empty(&pos->bpf_filters)) > + continue; > + rc = perf_bpf_filter__prepare(pos); > + if (rc) > + break; > + } might fit better under evlist__apply_filters ? jirka > out: > return rc; > } > diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c > index eeee899fcf34..0414385794ee 100644 > --- a/tools/perf/util/bpf_counter.c > +++ b/tools/perf/util/bpf_counter.c > @@ -781,8 +781,7 @@ extern struct bpf_counter_ops bperf_cgrp_ops; > > static inline bool bpf_counter_skip(struct evsel *evsel) > { > - return list_empty(&evsel->bpf_counter_list) && > - evsel->follower_skel == NULL; > + return evsel->bpf_counter_ops == NULL; > } > SNIP