[dpdk-stable] patch 'distributor: fix 128-bit write alignment' has been queued to stable release 19.11.10

christian.ehrhardt at canonical.com christian.ehrhardt at canonical.com
Tue Aug 10 17:39:52 CEST 2021


Hi,

FYI, your patch has been queued to stable release 19.11.10

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/12/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/4e4f0af3f678990014815f5326f5078234a3b24a

Thanks.

Christian Ehrhardt <christian.ehrhardt at canonical.com>

---
>From 4e4f0af3f678990014815f5326f5078234a3b24a Mon Sep 17 00:00:00 2001
From: David Hunt <david.hunt at intel.com>
Date: Fri, 16 Jul 2021 14:32:37 +0100
Subject: [PATCH] distributor: fix 128-bit write alignment

[ upstream commit de8606bf73323dfa8395f2dc0a93dc6194ff21b7 ]

When the distributor sample app is built as a 32-bit app,
the data buffer passed to find_match_vec can be unaligned,
causing a segmentation fault due to writing a 128-bit value
using _mm_store_si128().  128-bit align the data being
passed in so this does not happen.

Fixes: 775003ad2f96 ("distributor: add new burst-capable library")

Signed-off-by: David Hunt <david.hunt at intel.com>
---
 lib/librte_distributor/rte_distributor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c
index ef34facba6..50a2d0ee11 100644
--- a/lib/librte_distributor/rte_distributor.c
+++ b/lib/librte_distributor/rte_distributor.c
@@ -477,7 +477,7 @@ rte_distributor_process(struct rte_distributor *d,
 		return 0;
 
 	while (next_idx < num_mbufs) {
-		uint16_t matches[RTE_DIST_BURST_SIZE];
+		uint16_t matches[RTE_DIST_BURST_SIZE] __rte_aligned(128);
 		unsigned int pkts;
 
 		if ((num_mbufs - next_idx) < RTE_DIST_BURST_SIZE)
-- 
2.32.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-08-10 15:11:15.804671149 +0200
+++ 0072-distributor-fix-128-bit-write-alignment.patch	2021-08-10 15:11:13.078638532 +0200
@@ -1 +1 @@
-From de8606bf73323dfa8395f2dc0a93dc6194ff21b7 Mon Sep 17 00:00:00 2001
+From 4e4f0af3f678990014815f5326f5078234a3b24a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit de8606bf73323dfa8395f2dc0a93dc6194ff21b7 ]
+
@@ -13 +14,0 @@
-Cc: stable at dpdk.org
@@ -17 +18 @@
- lib/distributor/rte_distributor.c | 2 +-
+ lib/librte_distributor/rte_distributor.c | 2 +-
@@ -20,5 +21,5 @@
-diff --git a/lib/distributor/rte_distributor.c b/lib/distributor/rte_distributor.c
-index 07e385a259..c210cf86bd 100644
---- a/lib/distributor/rte_distributor.c
-+++ b/lib/distributor/rte_distributor.c
-@@ -478,7 +478,7 @@ rte_distributor_process(struct rte_distributor *d,
+diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c
+index ef34facba6..50a2d0ee11 100644
+--- a/lib/librte_distributor/rte_distributor.c
++++ b/lib/librte_distributor/rte_distributor.c
+@@ -477,7 +477,7 @@ rte_distributor_process(struct rte_distributor *d,


More information about the stable mailing list