Indeed, it is so long. Sir Dong, of Meng.
On Tue, Aug 26, 2025 at 4:05 AM Menglong Dong menglong8.dong@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 dongml2@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