lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 2 Aug 2020 18:51:32 -0700 From: Andrii Nakryiko <andrii.nakryiko@...il.com> To: Song Liu <songliubraving@...com> Cc: open list <linux-kernel@...r.kernel.org>, bpf <bpf@...r.kernel.org>, Networking <netdev@...r.kernel.org>, Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>, Kernel Team <kernel-team@...com>, john fastabend <john.fastabend@...il.com>, KP Singh <kpsingh@...omium.org>, Jesper Dangaard Brouer <brouer@...hat.com>, Daniel Xu <dlxu@...com> Subject: Re: [PATCH bpf-next 5/5] selftests/bpf: add benchmark for uprobe vs. user_prog On Sat, Aug 1, 2020 at 1:50 AM Song Liu <songliubraving@...com> wrote: > > Add a benchmark to compare performance of > 1) uprobe; > 2) user program w/o args; > 3) user program w/ args; > 4) user program w/ args on random cpu. > Can you please add it to the existing benchmark runner instead, e.g., along the other bench_trigger benchmarks? No need to re-implement benchmark setup. And also that would also allow to compare existing ways of cheaply triggering a program vs this new _USER program? If the performance is not significantly better than other ways, do you think it still makes sense to add a new BPF program type? I think triggering KPROBE/TRACEPOINT from bpf_prog_test_run() would be very nice, maybe it's possible to add that instead of a new program type? Either way, let's see comparison with other program triggering mechanisms first. > Sample output: > > ./test_progs -t uprobe_vs_user_prog -v > test_uprobe_vs_user_prog:PASS:uprobe_vs_user_prog__open_and_load 0 nsec > test_uprobe_vs_user_prog:PASS:get_base_addr 0 nsec > test_uprobe_vs_user_prog:PASS:attach_uprobe 0 nsec > run_perf_test:PASS:uprobe 0 nsec > Each uprobe uses 1419 nanoseconds > run_perf_test:PASS:user_prog_no_args 0 nsec > Each user_prog_no_args uses 313 nanoseconds > run_perf_test:PASS:user_prog_with_args 0 nsec > Each user_prog_with_args uses 335 nanoseconds > run_perf_test:PASS:user_prog_with_args_on_cpu 0 nsec > Each user_prog_with_args_on_cpu uses 2821 nanoseconds > Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED > > Signed-off-by: Song Liu <songliubraving@...com> > --- > .../bpf/prog_tests/uprobe_vs_user_prog.c | 101 ++++++++++++++++++ > .../selftests/bpf/progs/uprobe_vs_user_prog.c | 21 ++++ > 2 files changed, 122 insertions(+) > create mode 100644 tools/testing/selftests/bpf/prog_tests/uprobe_vs_user_prog.c > create mode 100644 tools/testing/selftests/bpf/progs/uprobe_vs_user_prog.c > [...]
Powered by blists - more mailing lists