patch 'examples/multi_process: fix Rx packets distribution' has been queued to stable release 19.11.11

christian.ehrhardt at canonical.com christian.ehrhardt at canonical.com
Tue Nov 30 17:35:50 CET 2021


Hi,

FYI, your patch has been queued to stable release 19.11.11

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before December 10th 2021. 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/2f782b75e8801616e2e8dedf5f05755d7ced135f

Thanks.

Christian Ehrhardt <christian.ehrhardt at canonical.com>

---
>From 2f782b75e8801616e2e8dedf5f05755d7ced135f Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson at nvidia.com>
Date: Wed, 10 Nov 2021 18:57:59 +0200
Subject: [PATCH] examples/multi_process: fix Rx packets distribution

[ upstream commit 69f9d8aa357d2299e057b7e335f340e20a0c5e7e ]

MP servers distributes Rx packets between clients according to
round-robin scheme.

Current implementation always started packets distribution from
the first client. That procedure resulted in uniform distribution
in cases when Rx packets number was around clients number
multiplication. However, if RX burst repeatedly returned single
packet, round-robin scheme would not work because all packets
were assigned to the first client only.

The patch does not restart packets distribution from
the first client.
Packets distribution always continues to the next client.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Gregory Etelson <getelson at nvidia.com>
Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
---
 examples/multi_process/client_server_mp/mp_server/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/multi_process/client_server_mp/mp_server/main.c b/examples/multi_process/client_server_mp/mp_server/main.c
index b349d90d92..61cef86a05 100644
--- a/examples/multi_process/client_server_mp/mp_server/main.c
+++ b/examples/multi_process/client_server_mp/mp_server/main.c
@@ -233,7 +233,7 @@ process_packets(uint32_t port_num __rte_unused,
 		struct rte_mbuf *pkts[], uint16_t rx_count)
 {
 	uint16_t i;
-	uint8_t client = 0;
+	static uint8_t client;
 
 	for (i = 0; i < rx_count; i++) {
 		enqueue_rx_packet(client, pkts[i]);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.326380682 +0100
+++ 0146-examples-multi_process-fix-Rx-packets-distribution.patch	2021-11-30 16:50:06.026875261 +0100
@@ -1 +1 @@
-From 69f9d8aa357d2299e057b7e335f340e20a0c5e7e Mon Sep 17 00:00:00 2001
+From 2f782b75e8801616e2e8dedf5f05755d7ced135f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 69f9d8aa357d2299e057b7e335f340e20a0c5e7e ]
+
@@ -21 +22,0 @@
-Cc: stable at dpdk.org
@@ -30 +31 @@
-index b4761ebc7b..f54bb8b75a 100644
+index b349d90d92..61cef86a05 100644
@@ -33 +34 @@
-@@ -234,7 +234,7 @@ process_packets(uint32_t port_num __rte_unused,
+@@ -233,7 +233,7 @@ process_packets(uint32_t port_num __rte_unused,


More information about the stable mailing list