[dpdk-dev] [PATCH v2 1/1] hash: separate lf and rw lock lookup code paths

Jerin Jacob jerin.jacob at caviumnetworks.com
Sun Nov 11 08:48:22 CET 2018


-----Original Message-----
> Date: Sat, 10 Nov 2018 12:55:34 -0600
> From: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
> To: bruce.richardson at intel.com, pablo.de.lara.guarch at intel.com
> CC: dev at dpdk.org, jerin.jacob at caviumnetworks.com, hemant.agrawal at nxp.com,
>  chaozhu at linux.vnet.ibm.com, yipeng1.wang at intel.com,
>  dharmik.thakkar at arm.com, gavin.hu at arm.com, honnappa.nagarahalli at arm.com,
>  nd at arm.com
> Subject: [PATCH v2 1/1] hash: separate lf and rw lock lookup code paths
> X-Mailer: git-send-email 2.17.1
> 
> 
> 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: honnappa.nagarahalli at arm.com
> 
> Suggested-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
> Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
> Reviewed-by: Ola Liljedahl <ola.liljedahl at arm.com>
> Reviewed-by: Gavin Hu <gavin.hu at arm.com>
> ---

Acked-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
Tested-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>

- Reported l3fwd hash regression for ARMv8 platform fixed
  with this patch by introducing two different code path(obviously!!)
- Verified lock version of lookup() is same as e605a1d36~1 changeset

+ Thomas,

If there is no objection, please consider this patch into -RC3



More information about the dev mailing list