> -----Original Message-----
> From: Lu, Wenzhuo <[email protected]>
> Sent: Wednesday, November 1, 2023 3:53 PM
> To: Deng, KaiwenX <[email protected]>; [email protected]
> Cc: [email protected]; Yang, Qiming <[email protected]>; Zhou, YidingX
> <[email protected]>; Deng, KaiwenX <[email protected]>; Wu,
> Jingjing <[email protected]>; Xing, Beilei <[email protected]>; Zeng,
> ZhichaoX <[email protected]>
> Subject: RE: [PATCH v2] net/iavf: fix coredump when exiting testpmd
>
> Hi Kaiwen,
>
> > -----Original Message-----
> > From: Kaiwen Deng <[email protected]>
> > Sent: Wednesday, November 1, 2023 9:35 AM
> > To: [email protected]
> > Cc: [email protected]; Yang, Qiming <[email protected]>; Zhou,
> > YidingX <[email protected]>; Deng, KaiwenX
> > <[email protected]>; Wu, Jingjing <[email protected]>; Xing,
> > Beilei <[email protected]>; Zeng, ZhichaoX
> > <[email protected]>
> > Subject: [PATCH v2] net/iavf: fix coredump when exiting testpmd
> >
> > Avf releasing mbuf using the vector path release API causes a coredump
> > when the basic Tx path is selected.
> > This commit changes to use the basic path release API when selecting
> > the basic Tx path.
> Sorry, don't catch the point.
> I see you changed the code when selecting AVX2 non-offload path. Confused
> about what's " the vector path release API " and what's " the basic path
> release API ".
>
Hi Wenzhuo:
Thanks for your review.
According to the code below.
"the vector path release API" is iavf_tx_queue_release_mbufs_sse.
"the basic path release API" is release_txq_mbufs.
static const
struct iavf_txq_ops iavf_txq_release_mbufs_ops[] = {
[IAVF_REL_MBUFS_DEFAULT].release_mbufs = release_txq_mbufs,
#ifdef RTE_ARCH_X86
[IAVF_REL_MBUFS_SSE_VEC].release_mbufs =
iavf_tx_queue_release_mbufs_sse,
#ifdef CC_AVX512_SUPPORT
[IAVF_REL_MBUFS_AVX512_VEC].release_mbufs =
iavf_tx_queue_release_mbufs_avx512,
#endif
> >
> > Fixes: 22f1e7608ebc ("net/iavf: fix AVX2 Tx selection")
> > Cc: [email protected]
> >
> > Signed-off-by: Kaiwen Deng <[email protected]>
> > ---
> > drivers/net/iavf/iavf_rxtx.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/iavf/iavf_rxtx.c
> > b/drivers/net/iavf/iavf_rxtx.c index 610912f635..a16e03d88c 100644
> > --- a/drivers/net/iavf/iavf_rxtx.c
> > +++ b/drivers/net/iavf/iavf_rxtx.c
> > @@ -4022,6 +4022,7 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
> > PMD_DRV_LOG(DEBUG,
> > "AVX2 does not support outer
> checksum offload, using Basic Tx
> > (port %d).",
> > dev->data->port_id);
> > + return;
> > } else {
> > dev->tx_pkt_burst =
> iavf_xmit_pkts_vec_avx2_offload;
> > dev->tx_pkt_prepare = iavf_prep_pkts;
> > --
> > 2.34.1