Hi Stephen,

Please see inline.

Thanks,
Anoob

> -----Original Message-----
> From: Stephen Hemminger <[email protected]>
> Sent: Saturday, May 27, 2023 3:42 AM
> To: Anoob Joseph <[email protected]>
> Cc: Thomas Monjalon <[email protected]>; Akhil Goyal
> <[email protected]>; Jerin Jacob Kollanukkaran <[email protected]>;
> Konstantin Ananyev <[email protected]>; Volodymyr Fialko
> <[email protected]>; Hemant Agrawal <[email protected]>;
> Mattias Rönnblom <[email protected]>; Kiran Kumar
> Kokkilagadda <[email protected]>; [email protected]; Olivier Matz
> <[email protected]>
> Subject: [EXT] Re: [PATCH v4 21/22] pdcp: add thread safe processing
> 
> External Email
> 
> ----------------------------------------------------------------------
> On Sat, 27 May 2023 02:32:13 +0530
> Anoob Joseph <[email protected]> wrote:
> 
> > +static inline uint32_t
> > +pdcp_atomic_inc(uint32_t *val, const bool mt_safe) {
> > +   if (mt_safe)
> > +           return __atomic_fetch_add(val, 1, __ATOMIC_RELAXED);
> > +   else
> > +           return (*val)++;
> > +}
> 
> This is a bad pattern. None of the rest of DPDK does this.
> Either be thread safe or not.

[Anoob] Most protocol implementation would have a similar issue. I've tried to 
follow the approach taken in lib IPsec (please check lib/ipsec/ipsec_sqn.h). 
From the discussion we had on v3, I've tried to make it compile time constant 
to remove any conditional checks in datapath.

If you still think, this is an issue, I could drop this patch for now and 
re-introduce it later once we have test applications that can work with 
traffic. Please share your thoughts.

Reply via email to