From 379b97bbf02feecae5ce870bc0c67e3d723e30f5 Mon Sep 17 00:00:00 2001 From: Jiri Olsa Date: Mon, 11 Mar 2024 22:10:23 +0100 Subject: selftests/bpf: Add kprobe multi triggering benchmarks Adding kprobe multi triggering benchmarks. It's useful now to bench new fprobe implementation and might be useful later as well. Signed-off-by: Jiri Olsa Signed-off-by: Andrii Nakryiko Link: https://lore.kernel.org/bpf/20240311211023.590321-1-jolsa@kernel.org --- tools/testing/selftests/bpf/benchs/bench_trigger.c | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'tools/testing/selftests/bpf/benchs') diff --git a/tools/testing/selftests/bpf/benchs/bench_trigger.c b/tools/testing/selftests/bpf/benchs/bench_trigger.c index 3f24be9cfcb9..ace0d1011a8e 100644 --- a/tools/testing/selftests/bpf/benchs/bench_trigger.c +++ b/tools/testing/selftests/bpf/benchs/bench_trigger.c @@ -91,6 +91,18 @@ static void trigger_kretprobe_setup(void) attach_bpf(ctx.skel->progs.bench_trigger_kretprobe); } +static void trigger_kprobe_multi_setup(void) +{ + setup_ctx(); + attach_bpf(ctx.skel->progs.bench_trigger_kprobe_multi); +} + +static void trigger_kretprobe_multi_setup(void) +{ + setup_ctx(); + attach_bpf(ctx.skel->progs.bench_trigger_kretprobe_multi); +} + static void trigger_fentry_setup(void) { setup_ctx(); @@ -283,6 +295,26 @@ const struct bench bench_trig_kretprobe = { .report_final = hits_drops_report_final, }; +const struct bench bench_trig_kprobe_multi = { + .name = "trig-kprobe-multi", + .validate = trigger_validate, + .setup = trigger_kprobe_multi_setup, + .producer_thread = trigger_producer, + .measure = trigger_measure, + .report_progress = hits_drops_report_progress, + .report_final = hits_drops_report_final, +}; + +const struct bench bench_trig_kretprobe_multi = { + .name = "trig-kretprobe-multi", + .validate = trigger_validate, + .setup = trigger_kretprobe_multi_setup, + .producer_thread = trigger_producer, + .measure = trigger_measure, + .report_progress = hits_drops_report_progress, + .report_final = hits_drops_report_final, +}; + const struct bench bench_trig_fentry = { .name = "trig-fentry", .validate = trigger_validate, -- cgit v1.2.3