From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v3] rte_hash: add scalable multi-writer insertion w/ Intel TSX Date: Fri, 24 Jun 2016 16:09:25 +0200 Message-ID: <1492854.M4rL1vdRta@xps13> References: <1466052753-69632-1-git-send-email-wei1.shen@intel.com> <1466115254-114498-2-git-send-email-wei1.shen@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, "De Lara Guarch, Pablo" , "Ananyev, Konstantin" , "stephen@networkplumber.org" , "Tai, Charlie" , "Maciocco, Christian" To: "Shen, Wei1" , "Gobriel, Sameh" Return-path: Received: from mail-wm0-f54.google.com (mail-wm0-f54.google.com [74.125.82.54]) by dpdk.org (Postfix) with ESMTP id 26C25C528 for ; Fri, 24 Jun 2016 16:09:27 +0200 (CEST) Received: by mail-wm0-f54.google.com with SMTP id f126so23994312wma.1 for ; Fri, 24 Jun 2016 07:09:27 -0700 (PDT) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > > This patch introduced scalable multi-writer Cuckoo Hash insertion > > based on a split Cuckoo Search and Move operation using Intel > > TSX. It can do scalable hash insertion with 22 cores with little > > performance loss and negligible TSX abortion rate. > > > > * Added an extra rte_hash flag definition to switch default single writer > > Cuckoo Hash behavior to multiwriter. > > - If HTM is available, it would use hardware feature for concurrency. > > - If HTM is not available, it would fall back to spinlock. > > > > * Created a rte_cuckoo_hash_x86.h file to hold all x86-arch related > > cuckoo_hash functions. And rte_cuckoo_hash.c uses compile time flag to > > select x86 file or other platform-specific implementations. While HTM check > > is still done at runtime (same idea with > > RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT) > > > > * Moved rte_hash private struct definitions to rte_cuckoo_hash.h, to allow > > rte_cuckoo_hash_x86.h or future platform dependent functions to include. > > > > * Following new functions are created for consistent names when new > > platform > > TM support are added. > > - rte_hash_cuckoo_move_insert_mw_tm: do insertion with bucket > > movement. > > - rte_hash_cuckoo_insert_mw_tm: do insertion without bucket movement. > > > > * One extra multi-writer test case is added. > > > > Signed-off-by: Shen Wei > > Signed-off-by: Sameh Gobriel > > Acked-by: Pablo de Lara Applied, thanks