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)

--Jesper

Reply via email to