numam-dpdk/drivers/net
Michal Krawczyk 005064e505 net/ena: support Tx/Rx free thresholds
The caller can pass Tx or Rx free threshold value to the configuration
structure for each ring. It determines when the Tx/Rx function should
start cleaning up/refilling the descriptors. ENA was ignoring this value
and doing it's own calculations.

Now the user can configure ENA's behavior using this parameter and if
this variable won't be set, the ENA will continue with the old behavior
and will use it's own threshold value.

The default value is not provided by the ENA in the ena_infos_get(), as
it's being determined dynamically, depending on the requested ring size.

Note that NULL check for Tx conf was removed from the function
ena_tx_queue_setup(), as at this place the configuration will be
either provided by the user or the default config will be used and it's
handled by the upper (rte_ethdev) layer.

Tx threshold shouldn't be used for the Tx cleanup budget as it can be
inadequate to the used burst. Now the PMD tries to release mbufs for the
ring until it will be depleted.

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Igor Chauskin <igorch@amazon.com>
Reviewed-by: Shai Brandes <shaibran@amazon.com>
2021-10-19 15:04:17 +02:00
..
af_packet ethdev: make queue release callback optional 2021-10-06 19:16:03 +02:00
af_xdp net/af_xdp: disable secondary process support 2021-10-08 13:06:55 +02:00
ark ethdev: change input parameters for Rx queue count 2021-10-13 22:14:58 +02:00
atlantic ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
avp ethdev: fix max Rx packet length 2021-10-18 19:20:20 +02:00
axgbe ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
bnx2x ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
bnxt ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
bonding ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
cnxk ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
cxgbe ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
dpaa ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
dpaa2 ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
e1000 ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
ena net/ena: support Tx/Rx free thresholds 2021-10-19 15:04:17 +02:00
enetc ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
enic ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
failsafe ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
fm10k ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
hinic ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
hns3 ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
i40e ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
iavf ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
ice ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
igc ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
ionic ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
ipn3ke ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
ixgbe ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
kni ethdev: make queue release callback optional 2021-10-06 19:16:03 +02:00
liquidio ethdev: move MTU set check to library 2021-10-18 19:20:21 +02:00
memif ethdev: change queue release callback 2021-10-06 19:16:03 +02:00
mlx4 ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
mlx5 ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
mvneta ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
mvpp2 ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
netvsc ethdev: hide internal structures 2021-10-13 22:14:59 +02:00
nfb ethdev: change queue release callback 2021-10-06 19:16:03 +02:00
nfp ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
ngbe ethdev: change queue release callback 2021-10-06 19:16:03 +02:00
null ethdev: change queue release callback 2021-10-06 19:16:03 +02:00
octeontx ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
octeontx2 ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
octeontx_ep ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
pcap ethdev: make queue release callback optional 2021-10-06 19:16:03 +02:00
pfe ethdev: fix max Rx packet length 2021-10-18 19:20:20 +02:00
qede ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
ring ethdev: make queue release callback optional 2021-10-06 19:16:03 +02:00
sfc net/sfc: implement transfer proxy port callback 2021-10-18 20:56:02 +02:00
softnic net/softnic: fix useless address check 2021-10-13 23:37:17 +02:00
szedata2 ethdev: change queue release callback 2021-10-06 19:16:03 +02:00
tap ethdev: fix max Rx packet length 2021-10-18 19:20:20 +02:00
thunderx ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
txgbe ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
vdev_netvsc version: 21.11-rc0 2021-08-17 08:37:52 +02:00
vhost ethdev: change input parameters for Rx queue count 2021-10-13 22:14:58 +02:00
virtio ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
vmxnet3 ethdev: remove jumbo offload flag 2021-10-18 19:20:21 +02:00
meson.build net/ngbe: add build and doc infrastructure 2021-07-12 17:55:19 +02:00