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 DE5B3A04DB; Wed, 12 Aug 2020 21:20:20 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 32BAE1C0B4; Wed, 12 Aug 2020 21:20:20 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id DDC251C0B2 for ; Wed, 12 Aug 2020 21:20:18 +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 2D521D6E; Wed, 12 Aug 2020 12:20:18 -0700 (PDT) Received: from localhost.localdomain (unknown [10.57.38.163]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 537363F22E; Wed, 12 Aug 2020 12:20:17 -0700 (PDT) From: Steven Lariau To: Cc: dev@dpdk.org, nd@arm.com, Steven Lariau Date: Wed, 12 Aug 2020 20:18:43 +0100 Message-Id: <20200812191847.16529-1-steven.lariau@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200805155721.19808-1-steven.lariau@arm.com> References: <20200805155721.19808-1-steven.lariau@arm.com> Subject: [dpdk-dev] [PATCH v2 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. v2: replace stack variable for arguments with a global variable. 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 | 80 +++++++++---------------------------------- 1 file changed, 17 insertions(+), 63 deletions(-) -- 2.17.1