> Subject: RE: [PATCH net-next 1/4] dpaa2-eth: Use a single page per Rx buffer
> 
> > Subject: Re: [PATCH net-next 1/4] dpaa2-eth: Use a single page per Rx
> > buffer
> >
> >
> > On Wed, 6 Feb 2019 15:36:33 +0000 Ioana Ciocoi Radulescu
> > <ruxandra.radule...@nxp.com> wrote:
> >
> > > > From: Ilias Apalodimas <ilias.apalodi...@linaro.org>
> > > >
> > > > Can you share any results on XDP (XDP_DROP is usually useful for
> > > > the hardware capabilities).
> > >
> > > XDP numbers are pretty much the same as before this patch:
> > >
> > > On a LS2088A with A72 cores @2GHz (numbers in Mpps):
> > >                           1core           8cores
> > > -------------------------------------------------------------------------
> > > XDP_DROP (no touching data)       5.37            29.6 (linerate)
> > > XDP_DROP (xdp1 sample)    3.14            24.22
> >
> > It is interesting/problematic to see that the cost of touching the
> > data is so high 5.37Mpps -> 3.14Mpps.  The Intel CPUs have solved this
> > in hardware with DDIO, which delivers frame in L3-cache. I have some
> > ideas on how to improve this on ARM (or CPUs without DDIO).  I've
> > previous implemented this as RFC on mlx4 tested on a CPU without DDIO,
> > with great success 10mpps -> 20Mpps (but it was shutdown, as newer
> > Intel HW solved the issue).  The basic idea is to have an array of
> > frames, that you start an L2/L3-prefetch on, before going "back" and
> > process them for XDP or netstack. (p.s. this is the same DPDK does)
> 
> Thanks for the hint. We are currently investigating what our options are.
> We'll come back with a more detailed answer once we figure out.
> 

Hi,

We have enabled cache stashing of frame data in our solution and sent the 
patches upstream: https://lkml.org/lkml/2019/2/23/41.

Some results with the patches applied on top of the net-next tree are below.
LS2088A with A72 cores @2GHz (numbers in Mpps):

                                                        1core           8cores
 
--------------------------------------------------------------------------------------------------------
 XDP_DROP (no touching data)                    5.37            29.6 (linerate)
 XDP_DROP (xdp1 sample, no stashing)            3.28            24.2
 XDP_DROP (xdp1 sample, stashing)               4.64            26.85

Thanks a lot for your hint.

Ioana C

Reply via email to