[dpdk-dev] How to using add/lookup hash table in multithread environment

Dumitrescu, Cristian cristian.dumitrescu at intel.com
Tue May 9 18:48:33 CEST 2017



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of
> vuonglv at viettel.com.vn
> Sent: Friday, May 5, 2017 5:52 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] How to using add/lookup hash table in multithread
> environment
> 
> Hi DPDK team,
> I am using DPDK to build a program in multithread environment.
> I use 1 thread (on 1 core) to add and delete hash table key ( by
> rte_hash_add_key() and rte_hash_del_key() function); And use 8 thread
> (on 8 others core) to lookup (by rte_hash_lookup() function ).
> As I know, rte_hash_lookup() function is /multi-thread safe,/ and
> te_hash_add_key() and rte_hash_del_key() function is not /multi-thread
> safe/.
> So: Do I need using /lock/ when I add or delete key by 1 thread while 8
> others thread is looking-up?
> 
> 

You could use a single thread to do the table add/del (table manager thread); when other threads need to do add/del, have them send a request to the table manager.

> Many thanks,
> Vuong Le


More information about the dev mailing list