From mboxrd@z Thu Jan 1 00:00:00 1970 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) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:user-agent:in-reply-to :references:mime-version:content-transfer-encoding; bh=KpTL50FHk49S4jj0oQRdQcRJhpKYfsFaUXe9Rh413OY=; b=NHdYdA9ZPWd7INPKGUfPE4o5wrQ1HQZLChzjhrxYbCTl5YHfvJuMEgVaOwGIzT/1uS DAc7ztjXSbtvrEjkHW60C39INmg8e8Lym0Ar0GN1K5INkZx8Uwt/A+IpbpNBeyeq/mYr QuRLPWq7eGL21fOOuggM4w5pXV13okyQQB5nZN64kO7UKXPngb+7IiAChOsLZ27d5lg4 YM4mk2AFnNU+c99rJ2AwMVk5vkHfZ0aGbOjWuIYlhfxH8ovHH/xh8RL9GE6hzHeqEBMr xrt1R/C6roZ+cLn73n+ULY5PTCbgOG5mNt6QriINxgerFFEvPub/4xLfnBkTWovRF+VW JqSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:user-agent :in-reply-to:references:mime-version:content-transfer-encoding; bh=KpTL50FHk49S4jj0oQRdQcRJhpKYfsFaUXe9Rh413OY=; b=fXqpmshVExwTBkI5t5SlmrkP/nE9CuReDTjm46Fe5qQNsIb7dHtn3d23jatC87Fpki F+bhvgihJtOqetK+gQap+YyrdP57l8nWaGNb7Hatf3g+Gg8vruV2I5T5appNF+xhDwQv mluGzshv4ns+Z6FoTpOCGOOyncALmZ2SQmF4VgbyvAMhAT2JqbnQnnHPQx6zrPc5CXvC em6OcBXCuZFDU8xCO1jffIbYfF8fpFr0vBk8G1zcHpTnAnZ2iQagUhmhh2zVB7HDtJy7 6aGf3bS90TamkDKQb1E/3i9Ii1qlAfcZhPLgcpUPOl1IvJeFbXEEWhCGtWYcB2U70XZg TgdQ== X-Gm-Message-State: ALyK8tJ44EBpoRZhGqEfHykv6yfV9dRZcreAAKoHqw85qGoitkZPXWuZR/El+RUiH6Fjzguv X-Received: by 10.28.184.5 with SMTP id i5mr5931764wmf.85.1466777366805; Fri, 24 Jun 2016 07:09:26 -0700 (PDT) Received: from xps13.localnet (184.203.134.77.rev.sfr.net. [77.134.203.184]) by smtp.gmail.com with ESMTPSA id vu10sm5341809wjb.27.2016.06.24.07.09.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jun 2016 07:09:26 -0700 (PDT) From: Thomas Monjalon To: "Shen, Wei1" , "Gobriel, Sameh" Cc: dev@dpdk.org, "De Lara Guarch, Pablo" , "Ananyev, Konstantin" , "stephen@networkplumber.org" , "Tai, Charlie" , "Maciocco, Christian" Date: Fri, 24 Jun 2016 16:09:25 +0200 Message-ID: <1492854.M4rL1vdRta@xps13> User-Agent: KMail/4.14.10 (Linux/4.5.4-1-ARCH; KDE/4.14.11; x86_64; ; ) In-Reply-To: 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-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH v3] rte_hash: add scalable multi-writer insertion w/ Intel TSX X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jun 2016 14:09:27 -0000 > > 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