From patchwork Mon Nov 5 17:39:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 47825 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E09A44CC5; Mon, 5 Nov 2018 18:39:23 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id D109A4CBD for ; Mon, 5 Nov 2018 18:39:22 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Nov 2018 09:39:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,468,1534834800"; d="scan'208";a="278500668" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.223]) by fmsmga006.fm.intel.com with ESMTP; 05 Nov 2018 09:39:21 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Date: Mon, 5 Nov 2018 17:39:09 +0000 Message-Id: <20181105173913.61225-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 0/4] fixes for rte_hash with TSX X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" When testing with rte_hash library and TSX, a higher level of transaction aborts was observed in some cases, especially with newer compilers. These patches reduce aborts by ensuring that the compiler does not accidentally insert instructions that cause aborts, and by adding in delays on retry to avoid repeated collisions. Bruce Richardson (2): eal/x86: reduce contention when retrying TSX test/test: improve output for hash read-write test Yipeng Wang (2): hash: fix extra TSX collisions with newer gcc hash: add local cache for TSX region .../common/include/arch/x86/rte_spinlock.h | 19 ++++++++++++++++--- lib/librte_eal/linuxapp/eal/eal_alarm.c | 2 ++ lib/librte_hash/rte_cmp_x86.h | 2 ++ lib/librte_hash/rte_cuckoo_hash.c | 7 ++++--- test/test/test_hash_readwrite.c | 20 +++++++++++--------- 5 files changed, 35 insertions(+), 15 deletions(-)