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  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 8 May 2020 11:01:44 -0700
From:   Andrii Nakryiko <andrii.nakryiko@...il.com>
To:     John Fastabend <john.fastabend@...il.com>
Cc:     Andrii Nakryiko <andriin@...com>, bpf <bpf@...r.kernel.org>,
        Networking <netdev@...r.kernel.org>,
        Alexei Starovoitov <ast@...com>,
        Daniel Borkmann <daniel@...earbox.net>,
        Kernel Team <kernel-team@...com>
Subject: Re: [PATCH bpf-next 2/3] selftest/bpf: fmod_ret prog and implement
 test_overhead as part of bench

On Fri, May 8, 2020 at 8:57 AM John Fastabend <john.fastabend@...il.com> wrote:
>
> Andrii Nakryiko wrote:
> > Add fmod_ret BPF program to existing test_overhead selftest. Also re-implement
> > user-space benchmarking part into benchmark runner to compare results.  Results
> > with ./bench are consistently somewhat lower than test_overhead's, but relative
> > performance of various types of BPF programs stay consisten (e.g., kretprobe is
> > noticeably slower).
> >
> > To test with ./bench, the following command was used:
> >
> > for i in base kprobe kretprobe rawtp fentry fexit fmodret; \
> > do \
> >     summary=$(sudo ./bench -w2 -d5 -a rename-$i | \
> >               tail -n1 | cut -d'(' -f1 | cut -d' ' -f3-) && \
> >     printf "%-10s: %s\n" $i "$summary"; \
> > done
>
> might be nice to have a script ./bench_tracing_overhead.sh when its in its
> own directory ./bench. Otherwise I'll have to look this up every single
> time I'm sure.

Yeah, I didn't want to pollute selftests/bpf directory, but with a
separate subdir it makes more sense. I'll put it there. For ringbuf
I'll have much longer scripts, so having them in file is a necessity.

>
> >
> > This gives the following numbers:
> >
> >   base      :    3.975 ± 0.065M/s
> >   kprobe    :    3.268 ± 0.095M/s
> >   kretprobe :    2.496 ± 0.040M/s
> >   rawtp     :    3.899 ± 0.078M/s
> >   fentry    :    3.836 ± 0.049M/s
> >   fexit     :    3.660 ± 0.082M/s
> >   fmodret   :    3.776 ± 0.033M/s
> >
> > While running test_overhead gives:
> >
> >   task_rename base        4457K events per sec
> >   task_rename kprobe      3849K events per sec
> >   task_rename kretprobe   2729K events per sec
> >   task_rename raw_tp      4506K events per sec
> >   task_rename fentry      4381K events per sec
> >   task_rename fexit       4349K events per sec
> >   task_rename fmod_ret    4130K events per sec
> >
> > Signed-off-by: Andrii Nakryiko <andriin@...com>
> > ---
>
> LGTM
>
> Acked-by: John Fastabend <john.fastabend@...il.com>

Powered by blists - more mailing lists