[v4] net/iavf: fix mbuf release API selection
Checks
Commit Message
When AVX2 is forcibly selected and outer checksum
offload is configured, the basic Tx path will be
selected. Also, the txq mbuf release API is incorrectly
set to iavf_tx_queue_release_mbufs_sse. This causes
coredump.
This commit selects release_txq_mbufs to releasing
txq mbufs when selecting the basic Tx path.
Fixes: 22f1e7608ebc ("net/iavf: fix AVX2 Tx selection")
Cc: stable@dpdk.org
Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
---
drivers/net/iavf/iavf_rxtx.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
Comments
> -----Original Message-----
> From: Kaiwen Deng <kaiwenx.deng@intel.com>
> Sent: Thursday, November 9, 2023 12:59 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Zhou, YidingX
> <yidingx.zhou@intel.com>; Deng, KaiwenX <kaiwenx.deng@intel.com>; Wu,
> Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Zeng,
> ZhichaoX <zhichaox.zeng@intel.com>
> Subject: [PATCH v4] net/iavf: fix mbuf release API selection
>
> When AVX2 is forcibly selected and outer checksum offload is configured, the
> basic Tx path will be selected. Also, the txq mbuf release API is incorrectly set
> to iavf_tx_queue_release_mbufs_sse. This causes coredump.
>
> This commit selects release_txq_mbufs to releasing txq mbufs when selecting
> the basic Tx path.
>
> Fixes: 22f1e7608ebc ("net/iavf: fix AVX2 Tx selection")
> Cc: stable@dpdk.org
>
> Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
@@ -4018,11 +4018,9 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
PMD_DRV_LOG(DEBUG, "Using AVX2 Vector Tx (port %d).",
dev->data->port_id);
} else if (check_ret == IAVF_VECTOR_CTX_OFFLOAD_PATH) {
- dev->tx_pkt_burst = iavf_xmit_pkts;
- dev->tx_pkt_prepare = iavf_prep_pkts;
PMD_DRV_LOG(DEBUG,
- "AVX2 does not support outer checksum offload, using Basic Tx (port %d).",
- dev->data->port_id);
+ "AVX2 does not support outer checksum offload.");
+ goto normal;
} else {
dev->tx_pkt_burst = iavf_xmit_pkts_vec_avx2_offload;
dev->tx_pkt_prepare = iavf_prep_pkts;