On Sat, Aug 12, 2017 at 10:48:49AM +0800, Jason Wang wrote: > > > 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: > > > > > > Before: ~1.7Mpps > > > After: ~2.3Mpps > > > > > > xdp_redirect to ixgbe shows ~60% improvement: > > > > > > Before: ~0.8Mpps > > > After: ~1.38Mpps > > > > > > 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. > > Thanks
What did you test btw? The biggest issue would be with something like UDP with short packets. -- MST