> -----Original Message----- > From: Honnappa Nagarahalli [mailto:[email protected]] > Sent: Saturday, November 10, 2018 10:56 AM > To: Richardson, Bruce <[email protected]>; De Lara Guarch, Pablo > <[email protected]> > Cc: [email protected]; [email protected]; > [email protected]; [email protected]; Wang, Yipeng1 > <[email protected]>; [email protected]; [email protected]; > [email protected]; [email protected] > Subject: [PATCH v2 1/1] hash: separate lf and rw lock lookup code paths > > The lock-free algorithm has caused significant lookup performance > regression for certain use cases. The regression is attributed to the use of > non-relaxed memory orderings. 2 versions of the lookup functions are > created. One that uses the RW lock and the one that is lock-free. This > restores the performance regression caused for use cases that used RW lock > version of the lookup function. > > Fixes: e605a1d36 ("hash: add lock-free r/w concurrency") > Cc: [email protected] > > Suggested-by: Jerin Jacob <[email protected]> > Signed-off-by: Honnappa Nagarahalli <[email protected]> > Reviewed-by: Ola Liljedahl <[email protected]> > Reviewed-by: Gavin Hu <[email protected]> > --- [Wang, Yipeng] I tested my modified l3fwd with this new patch applied on x86 platform and it does not cause any performance drop anymore.
There are extra code duplication though but I believe in future version together with fined-grained lock, the duplication could be fixed later.

