Thread (17 messages) flat view 17 messages, 7 authors, 2021-02-27

Re: [PATCH bpf-next v4 0/2] Optimize bpf_redirect_map()/xdp_do_redirect()

From: Björn Töpel <hidden>
Date: 2021-02-26 11:39:03
Also in: bpf

On 2021-02-26 12:35, Toke Høiland-Jørgensen wrote:
Björn Töpel [off-list ref] writes:
quoted
Hi XDP-folks,

This two patch series contain two optimizations for the
bpf_redirect_map() helper and the xdp_do_redirect() function.

The bpf_redirect_map() optimization is about avoiding the map lookup
dispatching. Instead of having a switch-statement and selecting the
correct lookup function, we let bpf_redirect_map() be a map operation,
where each map has its own bpf_redirect_map() implementation. This way
the run-time lookup is avoided.

The xdp_do_redirect() patch restructures the code, so that the map
pointer indirection can be avoided.

Performance-wise I got 3% improvement for XSKMAP
(sample:xdpsock/rx-drop), and 4% (sample:xdp_redirect_map) on my
machine.

More details in each commit.

@Jesper/Toke I dropped your Acked-by: on the first patch, since there
were major restucturing. Please have another look! Thanks!
Will do! Did you update the performance numbers above after that change?
I did. The XSKMAP performance stayed the same (no surprise, since the
code was the same). However, for the DEVMAP the v4 got rid of a call, so
it *should* be a bit better, but for some reason it didn't show on my
machine.


Björn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help