[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAEf4BzZ0ydoZa_Y0NvHgEqMM-QffKZW7jR4-Bxo5gr5A-Scqgg@mail.gmail.com>
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