On 2017年08月12日 07:12, Jakub Kicinski wrote:
On Fri, 11 Aug 2017 19:41:18 +0800, Jason Wang wrote:
This patch tries to implement XDP for tun. The implementation was
split into two parts:
- fast path: small and no gso packet. We try to do XDP at page level
before build_skb(). For XDP_TX, since creating/destroying queues
were completely under control of userspace, it was implemented
through generic XDP helper after skb has been built. This could be
optimized in the future.
- slow path: big or gso packet. We try to do it after skb was created
through generic XDP helpers.
Test were done through pktgen with small packets.
xdp1 test shows ~41.1% improvement:
xdp_redirect to ixgbe shows ~60% improvement:
Suggested-by: Michael S. Tsirkin <m...@redhat.com>
Signed-off-by: Jason Wang <jasow...@redhat.com>
Looks OK to me now :)
Out of curiosity, you say the build_skb() is for "small packets", and it
seems you are always reserving the 256B regardless of XDP being
installed. Does this have no performance impact on non-XDP case?
Have a test, only less than 1% were noticed which I think could be ignored.