> -----Original Message-----
> From: Zhang, Qi Z <[email protected]>
> Sent: Wednesday, November 8, 2023 5:33 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 v3] net/iavf: fix mbuf release API selection
> 
> 
> 
> > -----Original Message-----
> > From: Kaiwen Deng <[email protected]>
> > Sent: Thursday, November 2, 2023 12:43 PM
> > 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 v3] 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: [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;
> 
> This make the execution routing not consistent between avx2 and avx512.
> I think it will be a better solution if we reset the use_avx2 flag here, and 
> use
> this flag to decide if need to overwrite the release function later.

Or you can just "goto normal" and removing function call assignment.

> 
> >                     } else {
> >                             dev->tx_pkt_burst =
> > iavf_xmit_pkts_vec_avx2_offload;
> >                             dev->tx_pkt_prepare = iavf_prep_pkts;
> > --
> > 2.34.1

Reply via email to