[PATCH v2] net/i40e: reduce redundant store operation
Zhang, Qi Z
qi.z.zhang at intel.com
Wed Jan 26 15:28:07 CET 2022
> -----Original Message-----
> From: Feifei Wang <feifei.wang2 at arm.com>
> Sent: Tuesday, December 21, 2021 4:11 PM
> To: Xing, Beilei <beilei.xing at intel.com>
> Cc: dev at dpdk.org; Wang, Haiyue <haiyue.wang at intel.com>; nd at arm.com;
> Feifei Wang <feifei.wang2 at arm.com>; Ruifeng Wang
> <ruifeng.wang at arm.com>
> Subject: [PATCH v2] net/i40e: reduce redundant store operation
>
> For free buffer operation in i40e vector path, it is unnecessary to store 'NULL'
> into txep.mbuf. This is because when putting mbuf into Tx queue, tx_tail is
> the sentinel. And when doing tx_free, tx_next_dd is the sentinel. In all
> processes, mbuf==NULL is not a condition in check.
> Thus reset of mbuf is unnecessary and can be omitted.
>
> Signed-off-by: Feifei Wang <feifei.wang2 at arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang at arm.com>
> ---
>
> v2: remove the change for scalar path due to scalar path needs to check
> whether the mbuf is 'NULL' to release and clean up (Haiyue)
>
> drivers/net/i40e/i40e_rxtx_vec_common.h | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h
> b/drivers/net/i40e/i40e_rxtx_vec_common.h
> index f9a7f46550..26deb59fc4 100644
> --- a/drivers/net/i40e/i40e_rxtx_vec_common.h
> +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
> @@ -103,7 +103,6 @@ i40e_tx_free_bufs(struct i40e_tx_queue *txq)
> if (txq->offloads & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) {
> for (i = 0; i < n; i++) {
> free[i] = txep[i].mbuf;
> - txep[i].mbuf = NULL;
I will suggest to still add some comment here just for explaining, this may help to avoid unnecessary suspect when someone reading or debug on these code 😊
> }
> rte_mempool_put_bulk(free[0]->pool, (void **)free, n);
> goto done;
> --
> 2.25.1
More information about the dev
mailing list