<div dir="ltr">Hi <a class="gmail_plusreply" id="m_2928094038661859863plusReplyChip-1">@dpdk community,</a><div><br></div><div>In my application, I am using the dpdk hash table as below.</div><div><br></div><div>1. calculate the hash value.</div><div>2. using this signature add the key and data into  a table.</div><div>3. lock is used in the 2nd call (add).</div><div><br></div><div>Below is the code sniffer for the same.</div><div>==================================================================<br>     hash_sig_t sig = rte_hash_hash(hash_tablele, (void *) &new_key);<br><br>     pthread_mutex_lock(&lock);<br>      int32_t ret = rte_hash_add_key_with_hash_data(hash_table,<br>                          (void *)&new_key,<br>                           sig,<br>                           info);<br> <div>if (ret < 0)<br>{<br>         pthread_mutex_unlock(lock);<br>         return TOS_E_FAIL;<br>}<br>pthread_mutex_unlock(lock);<br><div><br></div></div><div>return OK..</div><div>==================================================================</div></div><div><br></div><div>My application is having a lot of threads and when run with heavy load , I am getting a lot of insertion failure, i felt the reason could be calculating and adding the has value in 2 api's as opposed to rte_hash_add() that is safe under a lock..</div><div><br></div><div><br></div><div>Please let me know your thoughts.</div><div><br></div><div><br></div><div>Thank you,</div><div>Venkatesh.</div></div>