>-----Original Message----- >From: Dharmik Thakkar [mailto:dharmik.thak...@arm.com] >Sent: Monday, March 25, 2019 2:09 PM >To: Wang, Yipeng1 <yipeng1.w...@intel.com>; Gobriel, Sameh ><sameh.gobr...@intel.com>; Richardson, Bruce ><bruce.richard...@intel.com>; De Lara Guarch, Pablo ><pablo.de.lara.gua...@intel.com>; Mcnamara, John ><john.mcnam...@intel.com>; Kovacevic, Marko <marko.kovace...@intel.com> >Cc: dev@dpdk.org; Dharmik Thakkar <dharmik.thak...@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.nagaraha...@arm.com> >Signed-off-by: Dharmik Thakkar <dharmik.thak...@arm.com> >Reviewed-by: Ruifeng Wang <ruifeng.w...@arm.com> >Reviewed-by: Gavin Hu <gavin...@arm.com> >Reviewed-by: Honnappa Nagarahalli <honnappa.nagaraha...@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.w...@intel.com> Thanks Yipeng!