Indeed, it is so long. Sir Dong, of Meng. On Tue, Aug 26, 2025 at 4:05 AM Menglong Dong <menglong8.d...@gmail.com> wrote: > > Some functions is recursive for the kprobe_multi and impact the benchmark > results. So just skip them. > > Signed-off-by: Menglong Dong <dong...@chinatelecom.cn> > --- > v2: > - introduce trace_blacklist instead of copy-pasting strcmp > --- > tools/testing/selftests/bpf/trace_helpers.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/tools/testing/selftests/bpf/trace_helpers.c > b/tools/testing/selftests/bpf/trace_helpers.c > index d24baf244d1f..9577979bd84d 100644 > --- a/tools/testing/selftests/bpf/trace_helpers.c > +++ b/tools/testing/selftests/bpf/trace_helpers.c > @@ -19,6 +19,7 @@ > #include <gelf.h> > #include "bpf/hashmap.h" > #include "bpf/libbpf_internal.h" > +#include "bpf_util.h" > > #define TRACEFS_PIPE "/sys/kernel/tracing/trace_pipe" > #define DEBUGFS_PIPE "/sys/kernel/debug/tracing/trace_pipe" > @@ -540,8 +541,20 @@ static bool is_invalid_entry(char *buf, bool kernel) > return false; > } > > +static const char * const trace_blacklist[] = { > + "migrate_disable", > + "migrate_enable", > + "rcu_read_unlock_strict", > + "preempt_count_add", > + "preempt_count_sub", > + "__rcu_read_lock", > + "__rcu_read_unlock", > +}; > + > static bool skip_entry(char *name) > { > + int i; > + > /* > * We attach to almost all kernel functions and some of them > * will cause 'suspicious RCU usage' when fprobe is attached > @@ -559,6 +572,12 @@ static bool skip_entry(char *name) > if (!strncmp(name, "__ftrace_invalid_address__", > sizeof("__ftrace_invalid_address__") - 1)) > return true; > + > + for (i = 0; i < ARRAY_SIZE(trace_blacklist); i++) { > + if (!strcmp(name, trace_blacklist[i])) > + return true; > + } > + > return false; > } > > -- > 2.51.0 > >