From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E9912A0351; Thu, 6 Aug 2020 12:27:34 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D0E001C0B7; Thu, 6 Aug 2020 12:27:34 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id F019C2B98 for ; Wed, 5 Aug 2020 17:46:21 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 38F931424; Wed, 5 Aug 2020 08:46:21 -0700 (PDT) Received: from localhost.localdomain (unknown [10.57.38.158]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 99BBB3F7D7; Wed, 5 Aug 2020 08:46:20 -0700 (PDT) From: Steven Lariau To: Cc: dev@dpdk.org, honnappa.nagarahalli@arm.com, nd@arm.com, Steven Lariau Date: Wed, 5 Aug 2020 16:45:57 +0100 Message-Id: <20200805154601.19609-1-steven.lariau@arm.com> X-Mailer: git-send-email 2.17.1 X-Mailman-Approved-At: Thu, 06 Aug 2020 12:27:33 +0200 Subject: [dpdk-dev] [PATCH 0/4] test/stack: improve multithreaded test 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" The current multithread DPDK stack test is using atomics operations to share information between threads. The lockfree stack implementation also uses atomic operations. This is an issue for testing. The atomics operations for the test may add some extra synchronization to the stack implementation, that doesn't exist. It makes it harder to find bugs related to memory orderings and data races. The main goal of the patch is to remove all atomics operations and any other form of data sharing in this test, to make sure that most of the execution time is spent on the stack library. Furthermore, this patch uses more appropriate functions to start / wait cores in order to simplify the code. The patch also adds code to propagate errors on any slave core to the master. Steven Lariau (4): test/stack: avoid trivial memory allocations test/stack: launch tests with mp remote launch API test/stack: propagate errors to main core test/stack: remove atomics operations app/test/test_stack.c | 71 ++++++++----------------------------------- 1 file changed, 13 insertions(+), 58 deletions(-) -- 2.17.1