From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v5 0/8] Add read-write concurrency to rte_hash library Date: Thu, 12 Jul 2018 23:03:06 +0200 Message-ID: <3745102.CzknF7dljW@xps> References: <1528455078-328182-1-git-send-email-yipeng1.wang@intel.com> <1531242001-381104-1-git-send-email-yipeng1.wang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, pablo.de.lara.guarch@intel.com, bruce.richardson@intel.com, honnappa.nagarahalli@arm.com, vguvva@caviumnetworks.com, brijesh.s.singh@gmail.com To: Yipeng Wang Return-path: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 0062E1B061 for ; Thu, 12 Jul 2018 23:03:09 +0200 (CEST) In-Reply-To: <1531242001-381104-1-git-send-email-yipeng1.wang@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Applied, thanks