Hi, Brijesh and all, Thanks for bringing this up. We actually have a read-write concurrency support patch coming in a couple of weeks for rte_hash aiming this release. More changes are on the way for future releases. :)
Thanks Yipeng >-----Original Message----- >From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Brijesh Singh >Sent: Wednesday, April 11, 2018 9:12 PM >To: dev@dpdk.org >Subject: [dpdk-dev] rte_hash thread safe > >Hello, > >I want to use DPDK's rte_hash library to keep track of tcp flows. The >lookups will be done by multiple threads but inserts will be done only >on one thread. > >As per the documentation rte_hash library has thread safe lookups. Key >/data inserts should be done on single thread, since those operations >are not thread safe. Is this documentation still correct? > >The lookup code compares the key and returns the data if the key >matches, this doesn't look like thread safe. Am I missing something? > >_rte_hash_lookup_with_hash(const struct rte_hash *h, const void *key, > > hash_sig_t sig, void **data) > >{ > > > >… > > if (rte_hash_cmp_eq(key, k->key, h) == 0) { > > if (data != NULL) > > *data = k->pdata; > >} > >Regards, >Brijesh