* [PATCH 1/2] net/sfc: do not push fast free offload to default TxQ config
@ 2022-02-08 23:26 Ivan Malov
2022-02-08 23:26 ` [PATCH 2/2] net/sfc: demand Tx fast free offload on ef10 simple datapath Ivan Malov
2022-02-10 13:33 ` [PATCH 1/2] net/sfc: do not push fast free offload to default TxQ config Ferruh Yigit
0 siblings, 2 replies; 3+ messages in thread
From: Ivan Malov @ 2022-02-08 23:26 UTC (permalink / raw)
To: dev; +Cc: stable, Andrew Rybchenko, Andy Moreton, Ferruh Yigit
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(-)
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;
--
2.30.2
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/2] net/sfc: demand Tx fast free offload on ef10 simple datapath
2022-02-08 23:26 [PATCH 1/2] net/sfc: do not push fast free offload to default TxQ config Ivan Malov
@ 2022-02-08 23:26 ` Ivan Malov
2022-02-10 13:33 ` [PATCH 1/2] net/sfc: do not push fast free offload to default TxQ config Ferruh Yigit
1 sibling, 0 replies; 3+ messages in thread
From: Ivan Malov @ 2022-02-08 23:26 UTC (permalink / raw)
To: dev; +Cc: stable, Andrew Rybchenko, Andy Moreton, Ferruh Yigit
Enforce this offload as it is immutable on the said datapath.
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_tx.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/sfc/sfc_tx.c b/drivers/net/sfc/sfc_tx.c
index cd927cf2f7..f376f24f7b 100644
--- a/drivers/net/sfc/sfc_tx.c
+++ b/drivers/net/sfc/sfc_tx.c
@@ -308,6 +308,7 @@ sfc_tx_qinit_info(struct sfc_adapter *sa, sfc_sw_index_t sw_index)
static int
sfc_tx_check_mode(struct sfc_adapter *sa, const struct rte_eth_txmode *txmode)
{
+ uint64_t dev_tx_offload_cap = sfc_tx_get_dev_offload_caps(sa);
int rc = 0;
switch (txmode->mq_mode) {
@@ -319,6 +320,13 @@ sfc_tx_check_mode(struct sfc_adapter *sa, const struct rte_eth_txmode *txmode)
rc = EINVAL;
}
+ if ((dev_tx_offload_cap & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) != 0 &&
+ (txmode->offloads & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) == 0) {
+ sfc_err(sa, "There is no FAST_FREE flag in the attempted Tx mode configuration");
+ sfc_err(sa, "FAST_FREE is always active as per the current Tx datapath variant");
+ rc = EINVAL;
+ }
+
/*
* These features are claimed to be i40e-specific,
* but it does make sense to double-check their absence
--
2.30.2
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] net/sfc: do not push fast free offload to default TxQ config
2022-02-08 23:26 [PATCH 1/2] net/sfc: do not push fast free offload to default TxQ config Ivan Malov
2022-02-08 23:26 ` [PATCH 2/2] net/sfc: demand Tx fast free offload on ef10 simple datapath Ivan Malov
@ 2022-02-10 13:33 ` Ferruh Yigit
1 sibling, 0 replies; 3+ messages in thread
From: Ferruh Yigit @ 2022-02-10 13:33 UTC (permalink / raw)
To: Ivan Malov, dev; +Cc: stable, Andrew Rybchenko, Andy Moreton
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.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-02-10 13:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-08 23:26 [PATCH 1/2] net/sfc: do not push fast free offload to default TxQ config Ivan Malov
2022-02-08 23:26 ` [PATCH 2/2] net/sfc: demand Tx fast free offload on ef10 simple datapath Ivan Malov
2022-02-10 13:33 ` [PATCH 1/2] net/sfc: do not push fast free offload to default TxQ config Ferruh Yigit
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).