From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 20D181D7; Mon, 12 Nov 2018 11:47:25 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Nov 2018 02:47:25 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,495,1534834800"; d="scan'208";a="105512850" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.223]) by fmsmga004.fm.intel.com with ESMTP; 12 Nov 2018 02:47:24 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: stable@dpdk.org, Bruce Richardson Date: Mon, 12 Nov 2018 10:47:15 +0000 Message-Id: <20181112104719.62568-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181105173913.61225-1-bruce.richardson@intel.com> References: <20181105173913.61225-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 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: , X-List-Received-Date: Mon, 12 Nov 2018 10:47:26 -0000 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 TSX aborts with newer gcc hash: add local cache for TSX region .../common/include/arch/x86/rte_spinlock.h | 21 +++++++++++++++++---- 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, 36 insertions(+), 16 deletions(-) -- 1.8.5.6