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