[dpdk-dev] [PATCH v2 1/2] hash: add lock free support for extendable bucket

Wang, Yipeng1 yipeng1.wang at intel.com
Mon Apr 1 20:20:06 CEST 2019


>-----Original Message-----
>From: Dharmik Thakkar [mailto:dharmik.thakkar at arm.com]
>Sent: Monday, March 25, 2019 2:09 PM
>To: Wang, Yipeng1 <yipeng1.wang at intel.com>; Gobriel, Sameh <sameh.gobriel at intel.com>; Richardson, Bruce
><bruce.richardson at intel.com>; De Lara Guarch, Pablo <pablo.de.lara.guarch at intel.com>; Mcnamara, John
><john.mcnamara at intel.com>; Kovacevic, Marko <marko.kovacevic at intel.com>
>Cc: dev at dpdk.org; Dharmik Thakkar <dharmik.thakkar at arm.com>
>Subject: [PATCH v2 1/2] hash: add lock free support for extendable bucket
>
>This patch enables lock-free read-write concurrency support for
>extendable bucket feature.
>
>Suggested-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
>Signed-off-by: Dharmik Thakkar <dharmik.thakkar at arm.com>
>Reviewed-by: Ruifeng Wang <ruifeng.wang at arm.com>
>Reviewed-by: Gavin Hu <gavin.hu at arm.com>
>Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
>@@ -1072,7 +1082,15 @@ __rte_hash_add_key_with_hash(const struct rte_hash *h, const void *key,
> 	bkt_id = (uint32_t)((uintptr_t)ext_bkt_id) - 1;
> 	/* Use the first location of the new bucket */
> 	(h->buckets_ext[bkt_id]).sig_current[0] = short_sig;
>-	(h->buckets_ext[bkt_id]).key_idx[0] = new_idx;
>+	/* Key can be of arbitrary length, so it is
>+	 * not possible to store it atomically.
>+	 * Hence the new key element's memory stores
>+	 * (key as well as data) should be complete
>+	 * before it is referenced.
>+	 */
[Wang, Yipeng] Minor issue: does this comment need to be fixed too? If so you could include my ack for next version.

Acked-by: Yipeng Wang  <yipeng1.wang at intel.com>


Thanks
Yipeng!



More information about the dev mailing list