• Alexei Starovoitov's avatar
    selftests/bpf: Add sleepable tests · e68a1445
    Alexei Starovoitov authored
    Modify few tests to sanity test sleepable bpf functionality.
    
    Running 'bench trig-fentry-sleep' vs 'bench trig-fentry' and 'perf report':
    sleepable with SRCU:
       3.86%  bench     [k] __srcu_read_unlock
       3.22%  bench     [k] __srcu_read_lock
       0.92%  bench     [k] bpf_prog_740d4210cdcd99a3_bench_trigger_fentry_sleep
       0.50%  bench     [k] bpf_trampoline_10297
       0.26%  bench     [k] __bpf_prog_exit_sleepable
       0.21%  bench     [k] __bpf_prog_enter_sleepable
    
    sleepable with RCU_TRACE:
       0.79%  bench     [k] bpf_prog_740d4210cdcd99a3_bench_trigger_fentry_sleep
       0.72%  bench     [k] bpf_trampoline_10381
       0.31%  bench     [k] __bpf_prog_exit_sleepable
       0.29%  bench     [k] __bpf_prog_enter_sleepable
    
    non-sleepable with RCU:
       0.88%  bench     [k] bpf_prog_740d4210cdcd99a3_bench_trigger_fentry
       0.84%  bench     [k] bpf_trampoline_10297
       0.13%  bench     [k] __bpf_prog_enter
       0.12%  bench     [k] __bpf_prog_exit
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Acked-by: default avatarKP Singh <kpsingh@google.com>
    Link: https://lore.kernel.org/bpf/20200827220114.69225-6-alexei.starovoitov@gmail.com
    e68a1445
bench.c 11.6 KB