[v9,2/5] pflock: use wait until scheme for read pflock

Message ID 20211101060007.2632418-3-feifei.wang2@arm.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series add new helper for wait scheme |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Feifei Wang Nov. 1, 2021, 6 a.m. UTC
  Instead of polling for read pflock update, use wait until scheme for
this case.

Jira: ENTNET-2903
Signed-off-by: Feifei Wang <feifei.wang2@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
---
 lib/eal/include/generic/rte_pflock.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
  

Comments

David Marchand Nov. 3, 2021, 2:46 p.m. UTC | #1
On Mon, Nov 1, 2021 at 7:00 AM Feifei Wang <feifei.wang2@arm.com> wrote:
>
> Instead of polling for read pflock update, use wait until scheme for
> this case.
>
> Jira: ENTNET-2903

I dropped what looks like an internal tag.

> Signed-off-by: Feifei Wang <feifei.wang2@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> Acked-by: Jerin Jacob <jerinj@marvell.com>
  
Feifei Wang Nov. 4, 2021, 1:24 a.m. UTC | #2
> -----邮件原件-----
> 发件人: David Marchand <david.marchand@redhat.com>
> 发送时间: Wednesday, November 3, 2021 10:47 PM
> 收件人: Feifei Wang <Feifei.Wang2@arm.com>
> 抄送: dev <dev@dpdk.org>; nd <nd@arm.com>; Jerin Jacob
> <jerinjacobk@gmail.com>; Stephen Hemminger
> <stephen@networkplumber.org>; thomas@monjalon.net; Ruifeng Wang
> <Ruifeng.Wang@arm.com>; jerinj@marvell.com
> 主题: Re: [PATCH v9 2/5] pflock: use wait until scheme for read pflock
> 
> On Mon, Nov 1, 2021 at 7:00 AM Feifei Wang <feifei.wang2@arm.com>
> wrote:
> >
> > Instead of polling for read pflock update, use wait until scheme for
> > this case.
> >
> > Jira: ENTNET-2903
> 
> I dropped what looks like an internal tag.
Thanks very much. It's my fault to forget to delete this~
> 
> > Signed-off-by: Feifei Wang <feifei.wang2@arm.com>
> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> > Acked-by: Jerin Jacob <jerinj@marvell.com>
> 
> 
> --
> David Marchand
  

Patch

diff --git a/lib/eal/include/generic/rte_pflock.h b/lib/eal/include/generic/rte_pflock.h
index e57c179ef2..5d2864ee8e 100644
--- a/lib/eal/include/generic/rte_pflock.h
+++ b/lib/eal/include/generic/rte_pflock.h
@@ -121,9 +121,7 @@  rte_pflock_read_lock(rte_pflock_t *pf)
 		return;
 
 	/* Wait for current write phase to complete. */
-	while ((__atomic_load_n(&pf->rd.in, __ATOMIC_ACQUIRE)
-		& RTE_PFLOCK_WBITS) == w)
-		rte_pause();
+	RTE_WAIT_UNTIL_MASKED(&pf->rd.in, RTE_PFLOCK_WBITS, !=, w, __ATOMIC_ACQUIRE);
 }
 
 /**