Thread (22 messages) 22 messages, 6 authors, 2017-08-16

Re: [PATCH net-next V2 3/3] tap: XDP support

flat view

From: Michael S. Tsirkin <mst@redhat.com>
Date: 2017-08-14 16:01:11
Also in: lkml

On Sat, Aug 12, 2017 at 10:48:49AM +0800, Jason Wang wrote:

On 2017年08月12日 07:12, Jakub Kicinski wrote:
quoted
On Fri, 11 Aug 2017 19:41:18 +0800, Jason Wang wrote:
quoted
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:

Before: ~1.7Mpps
After:  ~2.3Mpps

xdp_redirect to ixgbe shows ~60% improvement:

Before: ~0.8Mpps
After:  ~1.38Mpps

Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <redacted>
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.

Thanks
What did you test btw? The biggest issue would be with something like
UDP with short packets.

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