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 A9377A04DB for ; Sat, 17 Oct 2020 05:07:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0DF62E2B2; Sat, 17 Oct 2020 05:07:45 +0200 (CEST) Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by dpdk.org (Postfix) with ESMTP id 9942BE2A2 for ; Sat, 17 Oct 2020 05:07:31 +0200 (CEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20201017030720euoutp0167c6789307b0f81b83b573033b5848f2~_qLtylYrg1628816288euoutp01T for ; Sat, 17 Oct 2020 03:07:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20201017030720euoutp0167c6789307b0f81b83b573033b5848f2~_qLtylYrg1628816288euoutp01T DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1602904040; bh=SnmTiKBzRRhvImy7KbnOAiG2ut6PE3sR/5t4LwQPtoQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KF7WyNxXpAu2pSA0XZbksRjYBhry+mcdpgoCSZ/ufCF+JobWk9J/okoIPcu8fLVXe q3vL6efLsGi6oZFMF1GVHce+5aeKaGvUZVGKkNxoU6nCl1B66WzFLKRwQgTtdZjCki 5+w6ZU43ot+GUSHfyf6MXf+n/xGbQeb9M7uvcdZ0= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20201017030719eucas1p29bd08f65f4d2f64aeb45ab3b685d2fa2~_qLtNNOyt1521315213eucas1p2b; Sat, 17 Oct 2020 03:07:19 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id A8.D5.06318.7EF5A8F5; Sat, 17 Oct 2020 04:07:19 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20201017030719eucas1p13b13db1fbc3715e19e81bb4be4635b7d~_qLsw1G1E0898308983eucas1p16; Sat, 17 Oct 2020 03:07:19 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20201017030719eusmtrp202ba367df1d7414345c7667d57ff6131~_qLswV3z12813028130eusmtrp2N; Sat, 17 Oct 2020 03:07:19 +0000 (GMT) X-AuditID: cbfec7f5-371ff700000018ae-99-5f8a5fe7cdcf Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id EB.99.06314.7EF5A8F5; Sat, 17 Oct 2020 04:07:19 +0100 (BST) Received: from localhost.localdomain (unknown [106.210.88.70]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20201017030718eusmtip1293067d2e6872bd2e02a58515ca5ad7c~_qLsNvPzQ3124931249eusmtip19; Sat, 17 Oct 2020 03:07:18 +0000 (GMT) From: Lukasz Wojciechowski To: David Hunt , Bruce Richardson Cc: dev@dpdk.org, l.wojciechow@partner.samsung.com, stable@dpdk.org Date: Sat, 17 Oct 2020 05:06:55 +0200 Message-Id: <20201017030701.16134-12-l.wojciechow@partner.samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201017030701.16134-1-l.wojciechow@partner.samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrOIsWRmVeSWpSXmKPExsWy7djP87rP47viDWbe1rW4screom/SRyaL d5+2M1k861nHaPGv4w+7A6vHrwVLWT0W73nJ5HHw3R6mAOYoLpuU1JzMstQifbsErozvOxYz FXSJVkyf+4u9gXGNYBcjJ4eEgInExy+PWbsYuTiEBFYwSszo2MAC4XxhlDgx+wA7hPOZUWLB ndmMMC1r2vuZIBLLGSVurzvBCFc1c+lMFpAqNgFbiSMzv7KC2CICYRLNzXuB4hwczALOEk++ soGEhQW8JFY9mAg2lEVAVWLZhQNgcV4BN4mbJ6czQSyTl1i94QAzSCsnULzxuCvIKgmB62wS 7/f2sUPUuEi8e7SVDcIWlnh1fAtUXEbi/875TBAN2xglrv7+yQjh7GeUuN67AqrKWuLwv99s EMdpSqzfpQ8RdpQ4f20tK0hYQoBP4sZbcHgxA5mTtk1nhgjzSnS0CUFU60k87ZnKCLP2z9on LBC2h8TCCQegIXqVUWLW3adsExjlZyEsW8DIuIpRPLW0ODc9tdg4L7Vcrzgxt7g0L10vOT93 EyMw+k//O/51B+O+P0mHGAU4GJV4eDmWdsYLsSaWFVfmHmKU4GBWEuF1Ons6Tog3JbGyKrUo P76oNCe1+BCjNAeLkjiv8aKXsUIC6YklqdmpqQWpRTBZJg5OqQbGa9OvT5EUXldp8MXvN6/N C4kL65duF/mu9fT7OyGrqtyOB0pr/1R+VSmNlN8QbCH96Ff+d/6L2ytsLI5VP/20ZM6FQ5su vwxjmf6+9aeK/gbrlcekC64VeL2b6hS/7nLI876PT9d3en0yyNwm8H8Gx6EXLeZpC5IUCyLE T6eEaX+cprzu3LaEKiWW4oxEQy3mouJEAO+JwUP6AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOLMWRmVeSWpSXmKPExsVy+t/xu7rP47viDZ4+E7C4screom/SRyaL d5+2M1k861nHaPGv4w+7A6vHrwVLWT0W73nJ5HHw3R6mAOYoPZui/NKSVIWM/OISW6VoQwsj PUNLCz0jE0s9Q2PzWCsjUyV9O5uU1JzMstQifbsEvYzvOxYzFXSJVkyf+4u9gXGNYBcjJ4eE gInEmvZ+pi5GLg4hgaWMEu+vPGXpYuQASshIfLgkAFEjLPHnWhcbRM1HRollB26wgiTYBGwl jsz8ygpSLyIQJnFipT9ImFnAXWLL4qnMILawgJfEqgcTGUFsFgFViWUXDrCB2LwCbhI3T05n gpgvL7F6wwFmkDGcQPHG464QqxoZJc7OWscygZFvASPDKkaR1NLi3PTcYkO94sTc4tK8dL3k /NxNjMBA3Hbs5+YdjJc2Bh9iFOBgVOLh3bCoM16INbGsuDL3EKMEB7OSCK/T2dNxQrwpiZVV qUX58UWlOanFhxhNgY6ayCwlmpwPjJK8knhDU0NzC0tDc2NzYzMLJXHeDoGDMUIC6Yklqdmp qQWpRTB9TBycUg2MOpPnxRe5ftymbWdzKMQ1JHbNly0mF+etdbjeXhgZaOR/iG2LG8NT0Vk3 XGwW7JnBEBxtUKKrLf8qWKvutdTyDQv9W82Eq/T3V86JZtwz42du/Jlv0dYNHVMav5xlsFZe ERfzQP5mD+85jWRvr5bQBZfNFj9SMF67Y/ZW3WzxaVMuTjnN4BilxFKckWioxVxUnAgAff+c lVoCAAA= X-CMS-MailID: 20201017030719eucas1p13b13db1fbc3715e19e81bb4be4635b7d X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20201017030719eucas1p13b13db1fbc3715e19e81bb4be4635b7d X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20201017030719eucas1p13b13db1fbc3715e19e81bb4be4635b7d References: <20201010160508.19709-1-l.wojciechow@partner.samsung.com> <20201017030701.16134-1-l.wojciechow@partner.samsung.com> Subject: [dpdk-stable] [PATCH v8 11/17] test/distributor: replace delays with spin locks X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 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" Instead of making delays in test code and waiting for worker hopefully to reach proper states, synchronize worker shutdown test cases with spin lock on atomic variable. Fixes: c0de0eb82e40 ("distributor: switch over to new API") Cc: david.hunt@intel.com Cc: stable@dpdk.org Signed-off-by: Lukasz Wojciechowski Acked-by: David Hunt --- app/test/test_distributor.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c index 3f0aeb7b9..fdb6ea9ce 100644 --- a/app/test/test_distributor.c +++ b/app/test/test_distributor.c @@ -27,6 +27,7 @@ struct worker_params worker_params; /* statics - all zero-initialized by default */ static volatile int quit; /**< general quit variable for all threads */ static volatile int zero_quit; /**< var for when we just want thr0 to quit*/ +static volatile int zero_sleep; /**< thr0 has quit basic loop and is sleeping*/ static volatile unsigned worker_idx; static volatile unsigned zero_idx; @@ -377,8 +378,10 @@ handle_work_for_shutdown_test(void *arg) /* for worker zero, allow it to restart to pick up last packet * when all workers are shutting down. */ + __atomic_store_n(&zero_sleep, 1, __ATOMIC_RELEASE); while (zero_quit) usleep(100); + __atomic_store_n(&zero_sleep, 0, __ATOMIC_RELEASE); num = rte_distributor_get_pkt(d, id, buf, NULL, 0); @@ -446,7 +449,12 @@ sanity_test_with_worker_shutdown(struct worker_params *wp, /* flush the distributor */ rte_distributor_flush(d); - rte_delay_us(10000); + while (!__atomic_load_n(&zero_sleep, __ATOMIC_ACQUIRE)) + rte_distributor_flush(d); + + zero_quit = 0; + while (__atomic_load_n(&zero_sleep, __ATOMIC_ACQUIRE)) + rte_delay_us(100); for (i = 0; i < rte_lcore_count() - 1; i++) printf("Worker %u handled %u packets\n", i, @@ -506,9 +514,14 @@ test_flush_with_worker_shutdown(struct worker_params *wp, /* flush the distributor */ rte_distributor_flush(d); - rte_delay_us(10000); + while (!__atomic_load_n(&zero_sleep, __ATOMIC_ACQUIRE)) + rte_distributor_flush(d); zero_quit = 0; + + while (__atomic_load_n(&zero_sleep, __ATOMIC_ACQUIRE)) + rte_delay_us(100); + for (i = 0; i < rte_lcore_count() - 1; i++) printf("Worker %u handled %u packets\n", i, __atomic_load_n(&worker_stats[i].handled_packets, @@ -616,6 +629,8 @@ quit_workers(struct worker_params *wp, struct rte_mempool *p) quit = 0; worker_idx = 0; zero_idx = RTE_MAX_LCORE; + zero_quit = 0; + zero_sleep = 0; } static int -- 2.17.1