From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B5E2DA0A02 for ; Mon, 17 May 2021 18:17:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B003A40041; Mon, 17 May 2021 18:17:59 +0200 (CEST) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by mails.dpdk.org (Postfix) with ESMTP id A0DB841101 for ; Mon, 17 May 2021 18:17:58 +0200 (CEST) Received: from 2.general.paelzer.uk.vpn ([10.172.196.173] helo=Keschdeichel.fritz.box) by youngberry.canonical.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1lifwK-00007W-Lx; Mon, 17 May 2021 16:17:56 +0000 From: Christian Ehrhardt To: Stanislaw Kardach Cc: David Hunt , Lukasz Wojciechowski , dpdk stable Date: Mon, 17 May 2021 18:10:19 +0200 Message-Id: <20210517161039.3132619-190-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210517161039.3132619-1-christian.ehrhardt@canonical.com> References: <20210517161039.3132619-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'test/distributor: fix burst flush on worker quit' has been queued to stable release 19.11.9 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 19.11.9 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/19/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/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/4157d0d7306fbd2fdd20a2654128aff02113a528 Thanks. Christian Ehrhardt --- >From 4157d0d7306fbd2fdd20a2654128aff02113a528 Mon Sep 17 00:00:00 2001 From: Stanislaw Kardach Date: Wed, 28 Apr 2021 16:25:53 +0200 Subject: [PATCH] test/distributor: fix burst flush on worker quit [ 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 Acked-by: David Hunt Tested-by: Lukasz Wojciechowski Reviewed-by: Lukasz Wojciechowski --- 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 0f3c3d84c1..1f5db4c533 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.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-05-17 17:40:36.832215134 +0200 +++ 0190-test-distributor-fix-burst-flush-on-worker-quit.patch 2021-05-17 17:40:29.547812436 +0200 @@ -1 +1 @@ -From 6cda39af86ffc629732aac79058207cb4044e952 Mon Sep 17 00:00:00 2001 +From 4157d0d7306fbd2fdd20a2654128aff02113a528 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6cda39af86ffc629732aac79058207cb4044e952 ] + @@ -21 +22,0 @@ -Cc: stable@dpdk.org @@ -32 +33 @@ -index 371a14ba4c..fdbeae6d2f 100644 +index 0f3c3d84c1..1f5db4c533 100644