Message ID | 20191012024352.23545-1-ruifeng.wang@arm.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 094781EB48; Sat, 12 Oct 2019 04:44:36 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id 7D5BE1EB46 for <dev@dpdk.org>; Sat, 12 Oct 2019 04:44:34 +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 C2CE0142F; Fri, 11 Oct 2019 19:44:33 -0700 (PDT) Received: from net-arm-c2400-02.shanghai.arm.com (net-arm-c2400-02.shanghai.arm.com [10.169.40.42]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D08F13F703; Fri, 11 Oct 2019 19:44:31 -0700 (PDT) From: Ruifeng Wang <ruifeng.wang@arm.com> To: david.hunt@intel.com Cc: dev@dpdk.org, hkalra@marvell.com, gavin.hu@arm.com, honnappa.nagarahalli@arm.com, nd@arm.com, Ruifeng Wang <ruifeng.wang@arm.com> Date: Sat, 12 Oct 2019 10:43:50 +0800 Message-Id: <20191012024352.23545-1-ruifeng.wang@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191008095524.1585-1-ruifeng.wang@arm.com> References: <20191008095524.1585-1-ruifeng.wang@arm.com> Subject: [dpdk-dev] [PATCH v2 0/2] fix distributor unit test X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
fix distributor unit test
|
|
Message
Ruifeng Wang
Oct. 12, 2019, 2:43 a.m. UTC
Bug 342 reported distributor_autotest execution suspension on aarch64 platform. Issue was due to lack of synchronization among threads. Distributor thread and worker thread may get deadlocked. Fixed synchronization issue by adding barriers. Another issue identified was in test case. Non-atomic operation on stat value could cause value reset not been observed by worker thread and mess counters. The issue was fixed by using atomic operations. --- v2: Fixed intermittent packet count incorrect failure. (Aaron, David) Additional patch to fix non-atomic operation in unit test. Ruifeng Wang (2): lib/distributor: fix deadlock issue for aarch64 test/distributor: fix false unit test failure app/test/test_distributor.c | 6 ++- lib/librte_distributor/meson.build | 5 ++ lib/librte_distributor/rte_distributor.c | 39 ++++++++++------ lib/librte_distributor/rte_distributor_v20.c | 49 +++++++++++++------- 4 files changed, 67 insertions(+), 32 deletions(-)