Subject: Re: [PATCH net-next 1/4] dpaa2-eth: Use a single page per Rx buffer

From: Jesper Dangaard Brouer <[email-masked]>
Date: Wed, 6 Feb 2019 20:49:56 +0100

On Wed, 6 Feb 2019 15:36:33 +0000 Ioana Ciocoi Radulescu <[email-masked]> wrote:

> > From: Ilias Apalodimas <[email-masked]>
> >
> > 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)

--Jesper