Hi, I send the v6 patch. Best regards, Chengfeng ________________________________ 发件人: YE Chengfeng 发送时间: 2021年11月12日 2:31 收件人: Slava Ovsiienko ; Ferruh Yigit ; dev@dpdk.org 抄送: Raslan Darawsheh ; Matan Azrad ; stable@dpdk.org 主题: Re: [PATCH] net/mlx5: remove redundant "set used" Got it. 获取 Outlook for iOS ________________________________ 发件人: Slava Ovsiienko 发送时间: Friday, November 12, 2021 12:47:04 AM 收件人: YE Chengfeng ; Ferruh Yigit ; dev@dpdk.org 抄送: Raslan Darawsheh ; Matan Azrad ; stable@dpdk.org 主题: RE: [PATCH] net/mlx5: remove redundant "set used" From: YE Chengfeng Sent: Thursday, November 11, 2021 18:08 To: Slava Ovsiienko ; Ferruh Yigit ; dev@dpdk.org Cc: Raslan Darawsheh ; Matan Azrad ; stable@dpdk.org Subject: Re: [PATCH] net/mlx5: remove redundant "set used" No problem, I will send the new patch. [SO] Thank you. But what about the commit message and title, should I use the previous one? net/mlx5: fix mutex unlock in txpp cleanup [SO] Please, send as the next version (v6?) of your patch. Just squash my proposals and keep your title (“net/mlx5: fix mutex unlock in txpp cleanup”) and commit message. With best regards, Slava 获取 Outlook for iOS ________________________________ 发件人: Slava Ovsiienko > 发送时间: Thursday, November 11, 2021 8:27:30 PM 收件人: Ferruh Yigit >; dev@dpdk.org > 抄送: Raslan Darawsheh >; Matan Azrad >; stable@dpdk.org >; YE Chengfeng > 主题: RE: [PATCH] net/mlx5: remove redundant "set used" Hi, Ferruh > -----Original Message----- > From: Ferruh Yigit > > Sent: Thursday, November 11, 2021 14:08 > To: Slava Ovsiienko >; dev@dpdk.org > Cc: Raslan Darawsheh >; Matan Azrad > >; stable@dpdk.org; Chengfeng Ye > > > Subject: Re: [PATCH] net/mlx5: remove redundant "set used" > > On 11/11/2021 8:59 AM, Slava Ovsiienko wrote: > > Hi, Ferruh > > > > I've also inspected the mlx5 PMD code for RTE_SET_USED() for the > > similar issues related to the MLX5_ASSERT(). > > > > The patch > > https://apc01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatches.dpdk.org%2Fproject%2Fdpdk%2Fpatch%2F20211111084751.26721-1-&data=04%7C01%7Ccyeaa%40connect.ust.hk%7C87553a5cd43647db708008d9a50ea321%7C6c1d415239d044ca88d9b8d6ddca0708%7C1%7C0%7C637722304566828185%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=woTMghsE0S7ckoo0AI01YbdWrJeLtbMCu4GeE8JDiUc%3D&reserved=0 > viac > > heslavo@nvidia.com/ > > should refine the few found ones. > > > > I do not mind about squashing with "net/mlx5: fix mutex unlock in txpp > cleanup" > > After getting this code in Upstream will care about the version for LTS. > > > > It will cause additional complexity for the LTS, since a small part of the below > fix will be originated from Chengfeng's change. To help LTS, what do you think > - First get your fix on top of current task > - Have a new version from Chengfeng on top of latest head, with 'claim_zero' > usage? Would be nice, I have no any objections. Chengfeng, could you please, squash (or write by yourself) my proposed updates and send the next version of your patch with "claim_zero()"? > So only your update need to be merged to LTS releases. Yes, agree, it is even better than my proposal. With best regards, Slava > > > >> -----Original Message----- > >> From: Viacheslav Ovsiienko > > >> Sent: Thursday, November 11, 2021 10:48 > >> To: dev@dpdk.org > >> Cc: ferruh.yigit@intel.com; Raslan Darawsheh >; > >> Matan Azrad >; stable@dpdk.org > >> Subject: [PATCH] net/mlx5: remove redundant "set used" > >> > >> The patch just refines the code and replaces the pairs of > >> MLX5_ASSERT() and > >> RTE_SET_USED() with equivalent claim_zero(). > >> > >> Cc: stable@dpdk.org > >> > >> Signed-off-by: Viacheslav Ovsiienko > > >> --- > >> drivers/net/mlx5/mlx5_txpp.c | 30 ++++++++++-------------------- > >> 1 file changed, 10 insertions(+), 20 deletions(-) > >> > >> diff --git a/drivers/net/mlx5/mlx5_txpp.c > >> b/drivers/net/mlx5/mlx5_txpp.c index 73626f0e8f..af77e91e4c 100644 > >> --- a/drivers/net/mlx5/mlx5_txpp.c > >> +++ b/drivers/net/mlx5/mlx5_txpp.c > >> @@ -890,7 +890,6 @@ mlx5_txpp_start(struct rte_eth_dev *dev) > >> struct mlx5_priv *priv = dev->data->dev_private; > >> struct mlx5_dev_ctx_shared *sh = priv->sh; > >> int err = 0; > >> - int ret; > >> > >> if (!priv->config.tx_pp) { > >> /* Packet pacing is not requested for the device. */ @@ - > >> 903,14 +902,14 @@ mlx5_txpp_start(struct rte_eth_dev *dev) > >> return 0; > >> } > >> if (priv->config.tx_pp > 0) { > >> - ret = rte_mbuf_dynflag_lookup > >> - > >> (RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME, NULL); > >> - if (ret < 0) > >> + err = rte_mbuf_dynflag_lookup > >> + (RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME, > >> NULL); > >> + /* No flag registered means no service needed. */ > >> + if (err < 0) > >> return 0; > >> + err = 0; > >> } > >> - ret = pthread_mutex_lock(&sh->txpp.mutex); > >> - MLX5_ASSERT(!ret); > >> - RTE_SET_USED(ret); > >> + claim_zero(pthread_mutex_lock(&sh->txpp.mutex)); > >> if (sh->txpp.refcnt) { > >> priv->txpp_en = 1; > >> ++sh->txpp.refcnt; > >> @@ -924,9 +923,7 @@ mlx5_txpp_start(struct rte_eth_dev *dev) > >> rte_errno = -err; > >> } > >> } > >> - ret = pthread_mutex_unlock(&sh->txpp.mutex); > >> - MLX5_ASSERT(!ret); > >> - RTE_SET_USED(ret); > >> + claim_zero(pthread_mutex_unlock(&sh->txpp.mutex)); > >> return err; > >> } > >> > >> @@ -944,28 +941,21 @@ mlx5_txpp_stop(struct rte_eth_dev *dev) { > >> struct mlx5_priv *priv = dev->data->dev_private; > >> struct mlx5_dev_ctx_shared *sh = priv->sh; > >> - int ret; > >> > >> if (!priv->txpp_en) { > >> /* Packet pacing is already disabled for the device. */ > >> return; > >> } > >> priv->txpp_en = 0; > >> - ret = pthread_mutex_lock(&sh->txpp.mutex); > >> - MLX5_ASSERT(!ret); > >> - RTE_SET_USED(ret); > >> + claim_zero(pthread_mutex_lock(&sh->txpp.mutex)); > >> MLX5_ASSERT(sh->txpp.refcnt); > >> if (!sh->txpp.refcnt || --sh->txpp.refcnt) { > >> - ret = pthread_mutex_unlock(&sh->txpp.mutex); > >> - MLX5_ASSERT(!ret); > >> - RTE_SET_USED(ret); > >> + claim_zero(pthread_mutex_unlock(&sh->txpp.mutex)); > >> return; > >> } > >> /* No references any more, do actual destroy. */ > >> mlx5_txpp_destroy(sh); > >> - ret = pthread_mutex_unlock(&sh->txpp.mutex); > >> - MLX5_ASSERT(!ret); > >> - RTE_SET_USED(ret); > >> + claim_zero(pthread_mutex_unlock(&sh->txpp.mutex)); > >> } > >> > >> /* > >> -- > >> 2.18.1 > >