10/07/2018 18:59, Yipeng Wang:
> This patch set adds the read-write concurrency support in rte_hash.
> A new flag value is added to indicate if read-write concurrency is needed
> during creation time. Test cases are implemented to do functional and
> performance tests.
> The new concurrency model is based on rte_rwlock. When Intel TSX is
> available and the users indicate to use it, the TM version of the
> rte_rwlock will be called. Both multi-writer and read-write concurrency
> are protected by the rte_rwlock instead of the x86 specific RTM
> instructions, so the x86 specific header rte_cuckoo_hash_x86.h is removed
> and the code is infused into the main .c file.
> A new rte_hash_count API is proposed to count how many keys are inserted
> into the hash table.
> Yipeng Wang (8):
> hash: fix multiwriter lock memory allocation
> hash: fix a multi-writer race condition
> hash: fix key slot size accuracy
> hash: make duplicated code into functions
> hash: add read and write concurrency support
> test: add tests in hash table perf test
> test: add test case for read write concurrency
> hash: add new API function to query the key count