> -----Original Message----- > From: Stephen Hemminger <[email protected]> > Sent: Thursday, April 29, 2021 11:06 PM > 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 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.
Agreed. If synchronization is ensured by using C11 atomic builtin, 'volatile' on elements can be removed.

