Remove the "trigger_count" in trigger_bench.c and reuse trigger_driver()
instead for trigger_kernel_count_setup().

With the calling to bpf_get_numa_node_id(), the result for "kernel_count"
will become a little more accurate.

It will also easier if we want to test the performance of livepatch, just
hook the bpf_get_numa_node_id() and run the "kernel_count" bench trigger.

Signed-off-by: Menglong Dong <[email protected]>
---
 .../selftests/bpf/benchs/bench_trigger.c        |  5 +----
 .../testing/selftests/bpf/progs/trigger_bench.c | 17 +++++------------
 2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/tools/testing/selftests/bpf/benchs/bench_trigger.c 
b/tools/testing/selftests/bpf/benchs/bench_trigger.c
index 1e2aff007c2a..34fd8fa3b803 100644
--- a/tools/testing/selftests/bpf/benchs/bench_trigger.c
+++ b/tools/testing/selftests/bpf/benchs/bench_trigger.c
@@ -179,11 +179,8 @@ static void trigger_syscall_count_setup(void)
 static void trigger_kernel_count_setup(void)
 {
        setup_ctx();
-       bpf_program__set_autoload(ctx.skel->progs.trigger_driver, false);
-       bpf_program__set_autoload(ctx.skel->progs.trigger_count, true);
+       ctx.skel->rodata->kernel_count = 1;
        load_ctx();
-       /* override driver program */
-       ctx.driver_prog_fd = bpf_program__fd(ctx.skel->progs.trigger_count);
 }
 
 static void trigger_kprobe_setup(void)
diff --git a/tools/testing/selftests/bpf/progs/trigger_bench.c 
b/tools/testing/selftests/bpf/progs/trigger_bench.c
index 3d5f30c29ae3..6564d1909c7b 100644
--- a/tools/testing/selftests/bpf/progs/trigger_bench.c
+++ b/tools/testing/selftests/bpf/progs/trigger_bench.c
@@ -39,26 +39,19 @@ int bench_trigger_uprobe_multi(void *ctx)
        return 0;
 }
 
+const volatile int kernel_count = 0;
 const volatile int batch_iters = 0;
 
-SEC("?raw_tp")
-int trigger_count(void *ctx)
-{
-       int i;
-
-       for (i = 0; i < batch_iters; i++)
-               inc_counter();
-
-       return 0;
-}
-
 SEC("?raw_tp")
 int trigger_driver(void *ctx)
 {
        int i;
 
-       for (i = 0; i < batch_iters; i++)
+       for (i = 0; i < batch_iters; i++) {
                (void)bpf_get_numa_node_id(); /* attach point for benchmarking 
*/
+               if (kernel_count)
+                       inc_counter();
+       }
 
        return 0;
 }
-- 
2.51.2


Reply via email to