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 DFCBFA04DB for ; Sat, 17 Oct 2020 05:08:51 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6B66EE367; Sat, 17 Oct 2020 05:08:22 +0200 (CEST) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 2F28DE2C2 for ; Sat, 17 Oct 2020 05:07:50 +0200 (CEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20201017030729euoutp023bad538df247e79b35fa80656b6a2b41~_qL2KoTib2306523065euoutp02b for ; Sat, 17 Oct 2020 03:07:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20201017030729euoutp023bad538df247e79b35fa80656b6a2b41~_qL2KoTib2306523065euoutp02b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1602904049; bh=Scuc5Yl7mnmC3/9oBm1I4cjSrTqf6Y6Dqa10WtinLUk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L2BgyoswA/zlN8qMP3hk8Eza/+TYHdnAbyMYCfJlM7UgbMLaCM5nR+ZjT7zDFqJrl 0Ulz8W2/wykQAy8VMbiE1usB/dmAUrSNJ/0D3FvvWPJmAhL8zoD+usCe70asA0gt0V C8Qkg12BO+w136wEq66JLidAy3i3tsBVySrEFR7s= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20201017030723eucas1p255a22a301b598139f6925f7dc2c71fcf~_qLxHkpcE2440824408eucas1p2y; Sat, 17 Oct 2020 03:07:23 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 49.D5.06318.BEF5A8F5; Sat, 17 Oct 2020 04:07:23 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20201017030722eucas1p107dc8d3eb2d9ef620065deba31cf08ed~_qLvvqz_W2252822528eucas1p14; Sat, 17 Oct 2020 03:07:22 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20201017030722eusmtrp1dc64595bd7823bb07a0900ecec7a5559~_qLvvMamN3018830188eusmtrp1a; Sat, 17 Oct 2020 03:07:22 +0000 (GMT) X-AuditID: cbfec7f5-371ff700000018ae-9f-5f8a5febeac5 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 4F.DE.06017.AEF5A8F5; Sat, 17 Oct 2020 04:07:22 +0100 (BST) Received: from localhost.localdomain (unknown [106.210.88.70]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20201017030721eusmtip12450277e2202383d3ef9f3dbd74e8850~_qLvQPR9j0424404244eusmtip1S; Sat, 17 Oct 2020 03:07:21 +0000 (GMT) From: Lukasz Wojciechowski To: David Hunt Cc: dev@dpdk.org, l.wojciechow@partner.samsung.com, stable@dpdk.org Date: Sat, 17 Oct 2020 05:07:00 +0200 Message-Id: <20201017030701.16134-17-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+NgFnrAIsWRmVeSWpSXmKPExsWy7djP87qv47viDV50WFr0TfrIZPHu03Ym i2c96xgt/nX8YXdg8fi1YCmrx+I9L5k8Dr7bwxTAHMVlk5Kak1mWWqRvl8CVse/dTaaCI4oV pz4eZm1gnCLdxcjBISFgInHhE2MXIxeHkMAKRomrdzvYuhg5gZwvjBKvb2dAJD4zSvz48wAs AdKwad5/JojEckaJqV9OsMBVbVzbzw5SxSZgK3Fk5ldWEFtEQFXi3/5PTCDrmAWcJZ58BRsk LOAjsbV9BjOIzQJU0vm6B6yVV8BNonflPlaIZfISqzccYAZp5QSKNx53BVklIXCGTWLSuY8s EDUuEhfXfIKqF5Z4dXwLO4QtI3F6cg8LRMM2oNd+/2SEcPYzSlzvXQFVZS1x+N9vNojjNCXW 79KHCDtKfDnYxg4JIj6JG28FQcLMQOakbdOZIcK8Eh1tQhDVehJPe6Yywqz9s/YJC0SJh8SF 7gJI6FxllDg6aRLjBEb5WQi7FjAyrmIUTy0tzk1PLTbOSy3XK07MLS7NS9dLzs/dxAiM99P/ jn/dwbjvT9IhRgEORiUeXo6lnfFCrIllxZW5hxglOJiVRHidzp6OE+JNSaysSi3Kjy8qzUkt PsQozcGiJM5rvOhlrJBAemJJanZqakFqEUyWiYNTqoFx66U/M1gjD5d5bdBYM1mr9eyKO6F/ 7M+vlr5nITq9eMrLBVUb2VoUGL8oFP4OnvbjlpPPu2qZjXcZXlzbvr7B99vRjI27U45ph5e2 1s1n+Pv30gZTaz1VZY66DW+jjq7iOibSqhn2Mez/9KLi8KWflb7WfpW8yV+gkpRi6CZ3j5nb pfxdjWifEktxRqKhFnNRcSIAgzlJovMCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrMLMWRmVeSWpSXmKPExsVy+t/xu7qv4rviDXZ3ylj0TfrIZPHu03Ym i2c96xgt/nX8YXdg8fi1YCmrx+I9L5k8Dr7bwxTAHKVnU5RfWpKqkJFfXGKrFG1oYaRnaGmh Z2RiqWdobB5rZWSqpG9nk5Kak1mWWqRvl6CXse/dTaaCI4oVpz4eZm1gnCLdxcjJISFgIrFp 3n8mEFtIYCmjxMdjYV2MHEBxGYkPlwQgSoQl/lzrYuti5AIq+cgoMX3TPDaQBJuArcSRmV9Z QWwRAVWJf/s/gc1hFnCX2LJ4KjOILSzgI7G1fQaYzQJU0/m6hx3E5hVwk+hduY8VYoG8xOoN B5hB9nICxRuPu0LsamSUODtrHcsERr4FjAyrGEVSS4tz03OLjfSKE3OLS/PS9ZLzczcxAgNw 27GfW3Ywdr0LPsQowMGoxMO7YVFnvBBrYllxZe4hRgkOZiURXqezp+OEeFMSK6tSi/Lji0pz UosPMZoCHTWRWUo0OR8YHXkl8YamhuYWlobmxubGZhZK4rwdAgdjhATSE0tSs1NTC1KLYPqY ODilGhg7HrG/dbu2kd3ywjLzTfq35OcIvL5wzdFofppgxzuTk4vW7ggvfvmKMXT/4a9fBIzP b05oWm4TxWDJ5X5zqoPCFNlyu1tfD7xR/3xoj47cJBuddmntNWHxBj7chxzc/3lcnWU+OU5I 7EqveGl/zbfdn3MV/Wc2O967FpG/L608wGVJc+iyRw+VWIozEg21mIuKEwGAtElwVgIAAA== X-CMS-MailID: 20201017030722eucas1p107dc8d3eb2d9ef620065deba31cf08ed X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20201017030722eucas1p107dc8d3eb2d9ef620065deba31cf08ed X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20201017030722eucas1p107dc8d3eb2d9ef620065deba31cf08ed References: <20201010160508.19709-1-l.wojciechow@partner.samsung.com> <20201017030701.16134-1-l.wojciechow@partner.samsung.com> Subject: [dpdk-stable] [PATCH v8 16/17] test/distributor: ensure all packets are delivered 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" In all distributor tests there is a chance that tests will send packets to distributor with rte_distributor_process() before workers are started and requested for packets. This patch ensures that all packets are delivered to workers by calling rte_distributor_process() in loop until number of successfully processed packets reaches required by test. Change is applied to every first call in test case. Cc: stable@dpdk.org Signed-off-by: Lukasz Wojciechowski Acked-by: David Hunt --- app/test/test_distributor.c | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c index cfae5a1ac..a4af0a39c 100644 --- a/app/test/test_distributor.c +++ b/app/test/test_distributor.c @@ -103,6 +103,7 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p) struct rte_mbuf *returns[BURST*2]; unsigned int i, count; unsigned int retries; + unsigned int processed; printf("=== Basic distributor sanity tests ===\n"); clear_packet_count(); @@ -116,7 +117,11 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p) for (i = 0; i < BURST; i++) bufs[i]->hash.usr = 0; - rte_distributor_process(db, bufs, BURST); + processed = 0; + while (processed < BURST) + processed += rte_distributor_process(db, &bufs[processed], + BURST - processed); + count = 0; do { @@ -304,6 +309,7 @@ sanity_test_with_mbuf_alloc(struct worker_params *wp, struct rte_mempool *p) struct rte_distributor *d = wp->dist; unsigned i; struct rte_mbuf *bufs[BURST]; + unsigned int processed; printf("=== Sanity test with mbuf alloc/free (%s) ===\n", wp->name); @@ -316,7 +322,10 @@ sanity_test_with_mbuf_alloc(struct worker_params *wp, struct rte_mempool *p) bufs[j]->hash.usr = (i+j) << 1; } - rte_distributor_process(d, bufs, BURST); + processed = 0; + while (processed < BURST) + processed += rte_distributor_process(d, + &bufs[processed], BURST - processed); } rte_distributor_flush(d); @@ -410,6 +419,7 @@ sanity_test_with_worker_shutdown(struct worker_params *wp, struct rte_mbuf *bufs2[BURST]; unsigned int i; unsigned int failed = 0; + unsigned int processed = 0; printf("=== Sanity test of worker shutdown ===\n"); @@ -427,7 +437,10 @@ sanity_test_with_worker_shutdown(struct worker_params *wp, for (i = 0; i < BURST; i++) bufs[i]->hash.usr = 1; - rte_distributor_process(d, bufs, BURST); + processed = 0; + while (processed < BURST) + processed += rte_distributor_process(d, &bufs[processed], + BURST - processed); rte_distributor_flush(d); /* at this point, we will have processed some packets and have a full @@ -489,6 +502,7 @@ test_flush_with_worker_shutdown(struct worker_params *wp, struct rte_mbuf *bufs[BURST]; unsigned int i; unsigned int failed = 0; + unsigned int processed; printf("=== Test flush fn with worker shutdown (%s) ===\n", wp->name); @@ -503,7 +517,10 @@ test_flush_with_worker_shutdown(struct worker_params *wp, for (i = 0; i < BURST; i++) bufs[i]->hash.usr = 0; - rte_distributor_process(d, bufs, BURST); + processed = 0; + while (processed < BURST) + processed += rte_distributor_process(d, &bufs[processed], + BURST - processed); /* at this point, we will have processed some packets and have a full * backlog for the other ones at worker 0. */ @@ -585,6 +602,7 @@ sanity_mark_test(struct worker_params *wp, struct rte_mempool *p) unsigned int i, count, id; unsigned int sorted[buf_count], seq; unsigned int failed = 0; + unsigned int processed; printf("=== Marked packets test ===\n"); clear_packet_count(); @@ -615,7 +633,11 @@ sanity_mark_test(struct worker_params *wp, struct rte_mempool *p) count = 0; for (i = 0; i < buf_count/burst; i++) { - rte_distributor_process(db, &bufs[i * burst], burst); + processed = 0; + while (processed < burst) + processed += rte_distributor_process(db, + &bufs[i * burst + processed], + burst - processed); count += rte_distributor_returned_pkts(db, &returns[count], buf_count - count); } -- 2.17.1