DPDK-dev Archive on lore.kernel.org
 help / color / Atom feed
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>
Subject: [dpdk-dev] [PATCH v2 0/2] fix distributor unit test
Date: Sat, 12 Oct 2019 10:43:50 +0800
Message-ID: <20191012024352.23545-1-ruifeng.wang@arm.com> (raw)
In-Reply-To: <20191008095524.1585-1-ruifeng.wang@arm.com>

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(-)

-- 
2.17.1


  parent reply index

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-08  9:55 [dpdk-dev] [PATCH] lib/distributor: fix deadlock issue for aarch64 Ruifeng Wang
2019-10-08 12:53 ` Hunt, David
2019-10-08 17:05 ` Aaron Conole
2019-10-08 19:46   ` [dpdk-dev] [dpdk-stable] " David Marchand
2019-10-08 20:08     ` Aaron Conole
2019-10-09  5:52     ` Ruifeng Wang (Arm Technology China)
2019-10-17 11:42       ` [dpdk-dev] [EXT] " Harman Kalra
2019-10-17 13:48         ` Ruifeng Wang (Arm Technology China)
2019-10-12  2:43 ` Ruifeng Wang [this message]
2019-10-12  2:43   ` [dpdk-dev] [PATCH v2 1/2] " Ruifeng Wang
2019-10-13  2:31     ` Honnappa Nagarahalli
2019-10-14 10:00       ` Ruifeng Wang (Arm Technology China)
2019-10-12  2:43   ` [dpdk-dev] [PATCH v2 2/2] test/distributor: fix false unit test failure Ruifeng Wang
2019-10-15  9:28 ` [dpdk-dev] [PATCH v3 0/2] fix distributor unit test Ruifeng Wang
2019-10-15  9:28   ` [dpdk-dev] [PATCH v3 1/2] lib/distributor: fix deadlock issue for aarch64 Ruifeng Wang
2019-10-15  9:28   ` [dpdk-dev] [PATCH v3 2/2] test/distributor: fix false unit test failure Ruifeng Wang

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191012024352.23545-1-ruifeng.wang@arm.com \
    --to=ruifeng.wang@arm.com \
    --cc=david.hunt@intel.com \
    --cc=dev@dpdk.org \
    --cc=gavin.hu@arm.com \
    --cc=hkalra@marvell.com \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=nd@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK-dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \
		dev@dpdk.org dpdk-dev@archiver.kernel.org
	public-inbox-index dpdk-dev

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox