DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] ethdev: revert reject conflicting TX offloads configuration
@ 2025-10-20 12:33 Morten Brørup
  2025-10-20 12:41 ` Bruce Richardson
  0 siblings, 1 reply; 2+ messages in thread
From: Morten Brørup @ 2025-10-20 12:33 UTC (permalink / raw)
  To: dev, Bruce Richardson, Andrew Rybchenko, Konstantin Ananyev
  Cc: techboard, Morten Brørup

This reverts commit fdb840367cf0d6abeb17b05623679b8d1ea4c902

The Tech Board has decided that the co-existence of fast mbuf release and
multi segments is unclear, and new restrictions should not be imposed
until this has been clarified.

Fixes: fdb840367cf0 ("ethdev: reject conflicting Tx offload configurations")

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
---
 lib/ethdev/rte_ethdev.c | 37 -------------------------------------
 1 file changed, 37 deletions(-)

diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index f22139cb38..32686d99a9 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -1534,18 +1534,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		goto rollback;
 	}
 
-	/* MBUF_FAST_FREE preconditions conflict with MULTI_SEGS support. */
-	if ((dev_conf->txmode.offloads & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) &&
-	    (dev_conf->txmode.offloads & RTE_ETH_TX_OFFLOAD_MULTI_SEGS)) {
-		RTE_ETHDEV_LOG_LINE(ERR,
-			"id=%d offload clash, %s vs %s",
-			port_id,
-			rte_eth_dev_tx_offload_name(RTE_ETH_TX_OFFLOAD_MULTI_SEGS),
-			rte_eth_dev_tx_offload_name(RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE));
-		ret = -EINVAL;
-		goto rollback;
-	}
-
 	dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf =
 		rte_eth_rss_hf_refine(dev_conf->rx_adv_conf.rss_conf.rss_hf);
 
@@ -2724,31 +2712,6 @@ rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id,
 		return -EINVAL;
 	}
 
-	/*
-	 * If the driver uses a Tx function with MBUF_FAST_FREE preconditions,
-	 * per-queue MULTI_SEGS support is not possible.
-	 */
-	if ((dev->data->dev_conf.txmode.offloads & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) &&
-			(local_conf.offloads & RTE_ETH_TX_OFFLOAD_MULTI_SEGS)) {
-		RTE_ETHDEV_LOG_LINE(ERR,
-			"id=%d txq=%d offload clash, per-queue %s vs per-port %s",
-			port_id, tx_queue_id,
-			rte_eth_dev_tx_offload_name(RTE_ETH_TX_OFFLOAD_MULTI_SEGS),
-			rte_eth_dev_tx_offload_name(RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE));
-		return -EINVAL;
-	}
-	/*
-	 * If the driver uses a Tx function with MULTI_SEGS support,
-	 * runtime support for per-queue MBUF_FAST_FREE optimization depends on the driver.
-	 */
-	if ((dev->data->dev_conf.txmode.offloads & RTE_ETH_TX_OFFLOAD_MULTI_SEGS) &&
-			(local_conf.offloads & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE))
-		RTE_ETHDEV_LOG_LINE(DEBUG,
-			"id=%d txq=%d potential offload clash, per-queue %s vs per-port %s: PMD to decide",
-			port_id, tx_queue_id,
-			rte_eth_dev_tx_offload_name(RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE),
-			rte_eth_dev_tx_offload_name(RTE_ETH_TX_OFFLOAD_MULTI_SEGS));
-
 	rte_ethdev_trace_txq_setup(port_id, tx_queue_id, nb_tx_desc, tx_conf);
 	return eth_err(port_id, dev->dev_ops->tx_queue_setup(dev,
 		       tx_queue_id, nb_tx_desc, socket_id, &local_conf));
-- 
2.43.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-10-20 12:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-20 12:33 [PATCH] ethdev: revert reject conflicting TX offloads configuration Morten Brørup
2025-10-20 12:41 ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).