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 265A7A04BC for ; Sat, 10 Oct 2020 00:03:47 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DE7011D6A2; Sat, 10 Oct 2020 00:03:18 +0200 (CEST) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 123B31D667 for ; Sat, 10 Oct 2020 00:03:09 +0200 (CEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20201009220258euoutp0266f64449f289f5940403875e8463c4ce~8cg_DqTtm2500425004euoutp02E for ; Fri, 9 Oct 2020 22:02:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20201009220258euoutp0266f64449f289f5940403875e8463c4ce~8cg_DqTtm2500425004euoutp02E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1602280978; bh=9P4E0B5kieQ8/tBzQ8nyDsGgZm6tUvk7hTzdKz8POqg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sjbZPTY0IYDSUpN/znyy/DE6KFMsYi9kTIPrfRHwnb3BbBXisyL6XXVo+7efEiCXw DilxPPOOL9B3XtvMU6C1QbxvufAjOibDDHuCqkzI4nXQL6VdpPm80Lv+LuT0IPQdqG nuIpViHQ1Nx9IsG9zsS7Y4w/kCna+PhooDz0r8qE= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20201009220252eucas1p18c131871fbdb533a883d2b01fbf3e6fe~8cg4PW1og1070410704eucas1p1Z; Fri, 9 Oct 2020 22:02:52 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 3F.E2.06318.C0ED08F5; Fri, 9 Oct 2020 23:02:52 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20201009220250eucas1p18587737171d82a9bde52c767ee8ed24b~8cg3I_pGB0993409934eucas1p1d; Fri, 9 Oct 2020 22:02:50 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20201009220250eusmtrp248f73080e8ca700c2302efa00b61d26a~8cg3IfCY81642116421eusmtrp2j; Fri, 9 Oct 2020 22:02:50 +0000 (GMT) X-AuditID: cbfec7f5-38bff700000018ae-af-5f80de0cdbea Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 54.5F.06017.A0ED08F5; Fri, 9 Oct 2020 23:02:50 +0100 (BST) Received: from Padamandas.fritz.box (unknown [106.210.88.70]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20201009220249eusmtip111213ace1658ffabcc4181737eb1cdb6~8cg1bharQ1334813348eusmtip1z; Fri, 9 Oct 2020 22:02:48 +0000 (GMT) From: Lukasz Wojciechowski To: David Hunt , Bruce Richardson Cc: dev@dpdk.org, l.wojciechow@partner.samsung.com, stable@dpdk.org Date: Sat, 10 Oct 2020 00:01:58 +0200 Message-Id: <20201009220202.20834-12-l.wojciechow@partner.samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201009220202.20834-1-l.wojciechow@partner.samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBIsWRmVeSWpSXmKPExsWy7djPc7o89xriDWb2slrcWGVv0TfpI5PF u0/bmSye9axjtPjX8YfdgdXj14KlrB6L97xk8jj4bg9TAHMUl01Kak5mWWqRvl0CV8b7zSsY C7pEK46dPMjcwLhGsIuRk0NCwERif9MW1i5GLg4hgRWMErd3XWGDcL4wSpzc950JwvkM5Nx7 zgTTcmp2IyNEYjmjxKNHV1kgnE+MEmdv3mEDqWITsJU4MvMrK4gtIhAm0dy8F6iIg4NZwFni yVewEmEBL4mmnoPMIDaLgKrEzSl7wcp5BdwkPu9dyQyxTF5i9YYDYDYnULx11zKwXRICl9kk HnX2sUEUuUjMmDGTFcIWlnh1fAs7hC0j8X/nfCaIhm2MEld//2SEcPYzSlzvXQFVZS1x+N9v NojrNCXW79KHCDtKrLj/hAkkLCHAJ3HjLTjAmIHMSdumM0OEeSU62oQgqvUknvZMZYRZ+2ft ExYI20Piyrop7JDwucoo8eXlHOYJjPKzEJYtYGRcxSieWlqcm55abJyXWq5XnJhbXJqXrpec n7uJERj/p/8d/7qDcd+fpEOMAhyMSjy8DckN8UKsiWXFlbmHGCU4mJVEeJ3Ono4T4k1JrKxK LcqPLyrNSS0+xCjNwaIkzmu86GWskEB6YklqdmpqQWoRTJaJg1OqgdFYNCDuwkwGvcLnm/NT 5QuspkRdSFVYtXCBH9Nr4a3zY16fFo6XNeo4LPhLzWd5IZdXkviUO9eCzNf9Yv7ik8hjtmiP QmUgx4e8i/asyZt7HvvOXXKQ7cnJF9wOaTkWL1cyLcoUXHEpPLBG9EnctbKjflN2TpAK/SSS uffC8sydp+2q8h6YeCixFGckGmoxFxUnAgCe4RDl+wIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrBLMWRmVeSWpSXmKPExsVy+t/xu7pc9xriDf7eN7G4screom/SRyaL d5+2M1k861nHaPGv4w+7A6vHrwVLWT0W73nJ5HHw3R6mAOYoPZui/NKSVIWM/OISW6VoQwsj PUNLCz0jE0s9Q2PzWCsjUyV9O5uU1JzMstQifbsEvYz3m1cwFnSJVhw7eZC5gXGNYBcjJ4eE gInEqdmNjF2MXBxCAksZJd5ca2XuYuQASshIfLgkAFEjLPHnWhcbRM0HRokfp64zgSTYBGwl jsz8ygpSLyIQJnFipT9ImFnAXWLL4qnMILawgJdEU89BMJtFQFXi5pS9rCA2r4CbxOe9K5kh 5stLrN5wAMzmBIq37lrGArGrkVFiy4GXzBMY+RYwMqxiFEktLc5Nzy020itOzC0uzUvXS87P 3cQIDMVtx35u2cHY9S74EKMAB6MSD69GYkO8EGtiWXFl7iFGCQ5mJRFep7On44R4UxIrq1KL 8uOLSnNSiw8xmgJdNZFZSjQ5HxgneSXxhqaG5haWhubG5sZmFkrivB0CB2OEBNITS1KzU1ML Uotg+pg4OKUaGJMDzyr1Sxa8LBCxj11oPK+A2951zxZmZ02RfRqtIedSJZwUysQ/LnZ7ankn Uqnd8fTRxRcNjwd9s/jaLRfz8NmUJxPr+Bc+U7de8/DK0aS8n9J73Gq8fqi17nexu1isnuUf dWpCb1NQvVjfvIbOiXLGz7pW/ubO/GV/XWiX8GMTx+pXhbyMSizFGYmGWsxFxYkAPMcebVsC AAA= X-CMS-MailID: 20201009220250eucas1p18587737171d82a9bde52c767ee8ed24b X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20201009220250eucas1p18587737171d82a9bde52c767ee8ed24b X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20201009220250eucas1p18587737171d82a9bde52c767ee8ed24b References: <20201008052323.11547-1-l.wojciechow@partner.samsung.com> <20201009220202.20834-1-l.wojciechow@partner.samsung.com> Subject: [dpdk-stable] [PATCH v6 11/15] 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 ed03040d1..e8dd75078 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; @@ -376,8 +377,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); @@ -445,7 +448,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, @@ -505,9 +513,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, @@ -615,6 +628,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