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

From: Michael S. Tsirkin
Date: Mon Aug 14 2017 - 12:01:15 EST


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 <mst@xxxxxxxxxx>
> > > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
> > 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