[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190206204956.533326c2@carbon>
Date: Wed, 6 Feb 2019 20:49:56 +0100
From: Jesper Dangaard Brouer <brouer@...hat.com>
To: Ioana Ciocoi Radulescu <ruxandra.radulescu@....com>
Cc: Ilias Apalodimas <ilias.apalodimas@...aro.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"davem@...emloft.net" <davem@...emloft.net>,
Ioana Ciornei <ioana.ciornei@....com>, brouer@...hat.com
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.radulescu@....com> wrote:
> > From: Ilias Apalodimas <ilias.apalodimas@...aro.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
Powered by blists - more mailing lists