On Thu, 29 Apr 2021 14:35:35 +0000
Ruifeng Wang <[email protected]> wrote:

> > -----Original Message-----
> > From: Stephen Hemminger <[email protected]>
> > Sent: Thursday, April 29, 2021 1:17 AM
> > To: Ruifeng Wang <[email protected]>
> > Cc: Honnappa Nagarahalli <[email protected]>; Konstantin
> > Ananyev <[email protected]>; [email protected];
> > [email protected]; [email protected]; [email protected];
> > nd <[email protected]>; Gavin Hu <[email protected]>; Steve Capper
> > <[email protected]>; Ola Liljedahl <[email protected]>
> > Subject: Re: [dpdk-dev] [PATCH v3 2/2] ring: use wfe to wait for ring tail
> > update on aarch64
> > 
> > On Sun, 25 Apr 2021 05:56:53 +0000
> > Ruifeng Wang <[email protected]> wrote:
> >   
> > > Instead of polling for tail to be updated, use wfe instruction.
> > >
> > > Signed-off-by: Gavin Hu <[email protected]>
> > > Signed-off-by: Ruifeng Wang <[email protected]>
> > > Reviewed-by: Steve Capper <[email protected]>
> > > Reviewed-by: Ola Liljedahl <[email protected]>
> > > Reviewed-by: Honnappa Nagarahalli <[email protected]>
> > > Acked-by: Konstantin Ananyev <[email protected]>  
> > 
> > Looks ok to me, but it does raise an interesting question.
> > Shouldn't the original code have been using atomic load to look at ht->tail.
> > 
> > This another place where "volatile considered harmful" applies.  
> 
> Do you mean 'volatile' should be removed from rte_wait_until_equal_xxx 
> parameters?
> 

I meant that all access to tail should be via C11 atomic builtin. At that point,
the volatile on the data structure elements does not matter.

Reply via email to