[dpdk-stable] patch 'test/distributor: fix burst flush on worker quit' has been queued to stable release 20.11.2

Xueming Li xuemingl at nvidia.com
Sat Jun 12 01:02:43 CEST 2021


Hi,

FYI, your patch has been queued to stable release 20.11.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/14/21. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/steevenlee/dpdk

This queued commit can be viewed at:
https://github.com/steevenlee/dpdk/commit/31619530c8fb788188202ca91e58cbe9e43dcba9

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From 31619530c8fb788188202ca91e58cbe9e43dcba9 Mon Sep 17 00:00:00 2001
From: Stanislaw Kardach <kda at semihalf.com>
Date: Wed, 28 Apr 2021 16:25:53 +0200
Subject: [PATCH] test/distributor: fix burst flush on worker quit
Cc: Luca Boccassi <bluca at debian.org>

[ upstream commit 6cda39af86ffc629732aac79058207cb4044e952 ]

While working on RISC-V port I have encountered a situation where worker
threads get stuck in the rte_distributor_return_pkt() function in the
burst test.
Investigation showed some of the threads enter this function with
flag RTE_DISTRIB_GET_BUF set in the d->retptr64[0]. At the same time the
main thread has already passed rte_distributor_process() so nobody will
clear this flag and hence workers can't return.

What I've noticed is that adding a flush just after the last _process(),
similarly to how quit_workers() function is written in the
test_distributor.c fixes the issue.
Lukasz Wojciechowski reproduced the same issue on x86 using a VM with 32
emulated CPU cores to force some lcores not to be woken up.

Fixes: 7c3287a10535 ("test/distributor: add performance test for burst mode")

Signed-off-by: Stanislaw Kardach <kda at semihalf.com>
Acked-by: David Hunt <david.hunt at intel.com>
Tested-by: Lukasz Wojciechowski <l.wojciechow at partner.samsung.com>
Reviewed-by: Lukasz Wojciechowski <l.wojciechow at partner.samsung.com>
---
 app/test/test_distributor_perf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/test/test_distributor_perf.c b/app/test/test_distributor_perf.c
index 371a14ba4c..fdbeae6d2f 100644
--- a/app/test/test_distributor_perf.c
+++ b/app/test/test_distributor_perf.c
@@ -196,6 +196,7 @@ quit_workers(struct rte_distributor *d, struct rte_mempool *p)
 	rte_mempool_put_bulk(p, (void *)bufs, num_workers);
 
 	rte_distributor_process(d, NULL, 0);
+	rte_distributor_flush(d);
 	rte_eal_mp_wait_lcore();
 	quit = 0;
 	worker_idx = 0;
-- 
2.25.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-06-12 06:53:58.404285500 +0800
+++ 0069-test-distributor-fix-burst-flush-on-worker-quit.patch	2021-06-12 06:53:56.330000000 +0800
@@ -1 +1 @@
-From 6cda39af86ffc629732aac79058207cb4044e952 Mon Sep 17 00:00:00 2001
+From 31619530c8fb788188202ca91e58cbe9e43dcba9 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Luca Boccassi <bluca at debian.org>
+
+[ upstream commit 6cda39af86ffc629732aac79058207cb4044e952 ]
@@ -21 +23,0 @@
-Cc: stable at dpdk.org


More information about the stable mailing list