> -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of > vuon...@viettel.com.vn > Sent: Friday, May 5, 2017 5:52 AM > To: dev@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