net/af_xdp: allow bigger batch sizes
authorCiara Loftus <ciara.loftus@intel.com>
Wed, 10 Mar 2021 07:48:14 +0000 (07:48 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 10 Mar 2021 17:49:32 +0000 (18:49 +0100)
commitd96394ea263cd2657610561d85c37a793ded573b
treebe6325c117b18756095545a60264f32cf7d0bafd
parent41e026c1b3fd07ee6520e3d5d4ec0787d0dac300
net/af_xdp: allow bigger batch sizes

Prior to this commit, the maximum batch sizes for zero-copy and
copy-mode rx and copy-mode tx were set to 32. Apart from zero-copy tx,
the user could never rx/tx any more than 32 packets at a time and
without inspecting the code the user wouldn't be aware of this.

This commit removes these upper limits placed on the user and instead
sets an internal batch size equal to the default ring size (2048).
Batches larger than this are still processed, however they are split
into smaller batches similar to how it's done in other drivers. This is
necessary because some arrays used during rx/tx need to be sized at
compile-time.

Allowing a larger batch size allows for fewer batches and thus larger
bulk operations, fewer ring accesses and fewer syscalls which should
yield improved performance.

Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/af_xdp/rte_eth_af_xdp.c