dpaa2-eth: use bulk enqueue in .ndo_xdp_xmit
authorIoana Ciornei <ioana.ciornei@nxp.com>
Wed, 22 Apr 2020 12:05:13 +0000 (15:05 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Apr 2020 03:11:29 +0000 (20:11 -0700)
commit8665d9780e6efafa3cd9865ae3a77826326fe8c6
tree80c5107f1fd7554d4c5cbcbd987d578754de6750
parent6aa40b9e5b1ee732e07e406ffa6e17d152b3a216
dpaa2-eth: use bulk enqueue in .ndo_xdp_xmit

Take advantage of the bulk enqueue feature in .ndo_xdp_xmit.
We cannot use the XDP_XMIT_FLUSH since the architecture is not capable
to store all the frames dequeued in a NAPI cycle so we instead are
enqueueing all the frames received in a ndo_xdp_xmit call right away.

After setting up all FDs for the xdp_frames received, enqueue multiple
frames at a time until all are sent or the maximum number of retries is
hit.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h