OSDN Git Service

samples/bpf: Use getppid instead of getpgrp for array map stress
authorJoel Fernandes <joelaf@google.com>
Wed, 20 Sep 2017 16:11:56 +0000 (09:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 21 Sep 2017 18:59:16 +0000 (11:59 -0700)
When cross-compiling the bpf sample map_perf_test for aarch64, I find that
__NR_getpgrp is undefined. This causes build errors. This syscall is deprecated
and requires defining __ARCH_WANT_SYSCALL_DEPRECATED. To avoid having to define
that, just use a different syscall (getppid) for the array map stress test.

Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Joel Fernandes <joelaf@google.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
samples/bpf/map_perf_test_kern.c
samples/bpf/map_perf_test_user.c

index 098c857..2b2ffb9 100644 (file)
@@ -266,7 +266,7 @@ int stress_hash_map_lookup(struct pt_regs *ctx)
        return 0;
 }
 
-SEC("kprobe/sys_getpgrp")
+SEC("kprobe/sys_getppid")
 int stress_array_map_lookup(struct pt_regs *ctx)
 {
        u32 key = 1, i;
index f388254..a0310fc 100644 (file)
@@ -282,7 +282,7 @@ static void test_array_lookup(int cpu)
 
        start_time = time_get_ns();
        for (i = 0; i < max_cnt; i++)
-               syscall(__NR_getpgrp, 0);
+               syscall(__NR_getppid, 0);
        printf("%d:array_lookup %lld lookups per sec\n",
               cpu, max_cnt * 1000000000ll * 64 / (time_get_ns() - start_time));
 }