[1/2] net/sfc: do not push fast free offload to default TxQ config
Checks
Commit Message
Doing so is wrong since fast free is an adapter-wide offload.
Technically, the offending commit (see "Fixes" tag) does not
induce failures, however, such started to occur after commit
a4996bd89c42 ("ethdev: new Rx/Tx offloads API") had shown up,
because of the strict offload validation in the generic code.
Fixes: c78d280e88ef ("net/sfc: convert to new Tx offload API")
Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
---
drivers/net/sfc/sfc_ethdev.c | 6 ------
1 file changed, 6 deletions(-)
Comments
On 2/8/2022 11:26 PM, Ivan Malov wrote:
> Doing so is wrong since fast free is an adapter-wide offload.
>
> Technically, the offending commit (see "Fixes" tag) does not
> induce failures, however, such started to occur after commit
> a4996bd89c42 ("ethdev: new Rx/Tx offloads API") had shown up,
> because of the strict offload validation in the generic code.
>
> Fixes: c78d280e88ef ("net/sfc: convert to new Tx offload API")
> Cc:stable@dpdk.org
>
> Signed-off-by: Ivan Malov<ivan.malov@oktetlabs.ru>
> Reviewed-by: Andrew Rybchenko<andrew.rybchenko@oktetlabs.ru>
> Reviewed-by: Andy Moreton<amoreton@xilinx.com>
Series applied to dpdk-next-net/main, thanks.
@@ -94,7 +94,6 @@ sfc_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
struct sfc_adapter *sa = sfc_adapter_by_eth_dev(dev);
struct sfc_rss *rss = &sas->rss;
struct sfc_mae *mae = &sa->mae;
- uint64_t txq_offloads_def = 0;
sfc_log_init(sa, "entry");
@@ -146,11 +145,6 @@ sfc_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
dev_info->tx_offload_capa = sfc_tx_get_dev_offload_caps(sa) |
dev_info->tx_queue_offload_capa;
- if (dev_info->tx_offload_capa & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE)
- txq_offloads_def |= RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE;
-
- dev_info->default_txconf.offloads |= txq_offloads_def;
-
if (rss->context_type != EFX_RX_SCALE_UNAVAILABLE) {
uint64_t rte_hf = 0;
unsigned int i;