> -----Original Message-----
> From: Stephen Hemminger [mailto:[email protected]]
> Sent: Saturday, April 13, 2019 12:06 AM
> To: Honnappa Nagarahalli <[email protected]>
> Cc: Ananyev, Konstantin <[email protected]>;
> [email protected]; Kovacevic, Marko <[email protected]>;
> [email protected]; Gavin Hu (Arm Technology China) <[email protected]>; Dharmik
> Thakkar <[email protected]>; Malvika Gupta
> <[email protected]>; nd <[email protected]>
> Subject: Re: [PATCH v5 1/3] rcu: add RCU library supporting QSBR mechanism
>
> On Fri, 12 Apr 2019 22:24:45 +0000
> Honnappa Nagarahalli <[email protected]> wrote:
>
> > >
> > > On Fri, 12 Apr 2019 15:20:37 -0500
> > > Honnappa Nagarahalli <[email protected]> wrote:
> > >
> > > > Add RCU library supporting quiescent state based memory reclamation
> > > method.
> > > > This library helps identify the quiescent state of the reader threads
> > > > so that the writers can free the memory associated with the lock less
> > > > data structures.
> > > >
> > > > Signed-off-by: Honnappa Nagarahalli <[email protected]>
> > > > Reviewed-by: Steve Capper <[email protected]>
> > > > Reviewed-by: Gavin Hu <[email protected]>
> > > > Reviewed-by: Ola Liljedahl <[email protected]>
> > > > Acked-by: Konstantin Ananyev <[email protected]>
> > >
> > > After evaluating long term API/ABI issues, I think you need to get rid of
> > > almost
> > > all use of inline and visible structures. Yes it might be marginally
> > > slower, but
> > > you thank me the first time you have to fix something.
> > >
> > Agree, I was planning on another version to address this (I am yet to take
> > a look at your patch addressing the ABI).
> > The structure visibility definitely needs to be addressed.
> > For the inline functions, is the plan to convert all the inline functions
> > in DPDK? If yes, I think we need to consider the performance
> difference. May be consider L3-fwd application, change all the inline
> functions in its path and run a test?
>
> Every function that is not in the direct datapath should not be inline.
> Exceptions or things like rx/tx burst, ring enqueue/dequeue, and packet
> alloc/free
Plus synchronization routines: spin/rwlock/barrier, etc.
I think rcu should be one of such exceptions - it is just another
synchronization mechanism after all
(just a bit more sophisticated).
Konstantin