[1/2] net/sfc: do not push fast free offload to default TxQ config

Message ID 20220208232648.856157-1-ivan.malov@oktetlabs.ru (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series [1/2] net/sfc: do not push fast free offload to default TxQ config |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

Ivan Malov Feb. 8, 2022, 11:26 p.m. UTC
  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

Ferruh Yigit Feb. 10, 2022, 1:33 p.m. UTC | #1
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.
  

Patch

diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index abf7b8d287..b04a05bd9f 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -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;