patch 'common/cnxk: add memory clobber to steor and ldeor' has been queued to stable release 21.11.4

Kevin Traynor ktraynor at redhat.com
Wed Mar 15 15:36:16 CET 2023


Hi,

FYI, your patch has been queued to stable release 21.11.4

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/5eeee34bf76e4b7c17f689eb85880626ec5a66b2

Thanks.

Kevin

---
>From 5eeee34bf76e4b7c17f689eb85880626ec5a66b2 Mon Sep 17 00:00:00 2001
From: Nithin Dabilpuram <ndabilpuram at marvell.com>
Date: Fri, 3 Mar 2023 13:40:12 +0530
Subject: [PATCH] common/cnxk: add memory clobber to steor and ldeor

[ upstream commit a032b598b30daa9c2f01a6d7de07c87adba05dab ]

To avoid compiler reordering stores to LMT line and ldeor,
add clobber attribute to ldeor, steor etc.

Fixes: 014a9e222bac ("common/cnxk: add model init and IO handling API")

Signed-off-by: Nithin Dabilpuram <ndabilpuram at marvell.com>
---
 drivers/common/cnxk/roc_io.h | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/common/cnxk/roc_io.h b/drivers/common/cnxk/roc_io.h
index fe5f7f46d0..d533d6cda6 100644
--- a/drivers/common/cnxk/roc_io.h
+++ b/drivers/common/cnxk/roc_io.h
@@ -112,5 +112,6 @@ roc_lmt_submit_ldeor(plt_iova_t io_address)
 	asm volatile(PLT_CPU_FEATURE_PREAMBLE "ldeor xzr, %x[rf], [%[rs]]"
 		     : [rf] "=r"(result)
-		     : [rs] "r"(io_address));
+		     : [rs] "r"(io_address)
+		     : "memory");
 	return result;
 }
@@ -123,5 +124,6 @@ roc_lmt_submit_ldeorl(plt_iova_t io_address)
 	asm volatile(PLT_CPU_FEATURE_PREAMBLE "ldeorl xzr,%x[rf],[%[rs]]"
 		     : [rf] "=r"(result)
-		     : [rs] "r"(io_address));
+		     : [rs] "r"(io_address)
+		     : "memory");
 	return result;
 }
@@ -132,5 +134,6 @@ roc_lmt_submit_steor(uint64_t data, plt_iova_t io_address)
 	asm volatile(PLT_CPU_FEATURE_PREAMBLE
 		     "steor %x[d], [%[rs]]" ::[d] "r"(data),
-		     [rs] "r"(io_address));
+		     [rs] "r"(io_address)
+		     : "memory");
 }
 
@@ -140,5 +143,6 @@ roc_lmt_submit_steorl(uint64_t data, plt_iova_t io_address)
 	asm volatile(PLT_CPU_FEATURE_PREAMBLE
 		     "steorl %x[d], [%[rs]]" ::[d] "r"(data),
-		     [rs] "r"(io_address));
+		     [rs] "r"(io_address)
+		     : "memory");
 }
 
-- 
2.39.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-03-15 14:30:21.167225265 +0000
+++ 0023-common-cnxk-add-memory-clobber-to-steor-and-ldeor.patch	2023-03-15 14:30:20.585123700 +0000
@@ -1 +1 @@
-From a032b598b30daa9c2f01a6d7de07c87adba05dab Mon Sep 17 00:00:00 2001
+From 5eeee34bf76e4b7c17f689eb85880626ec5a66b2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a032b598b30daa9c2f01a6d7de07c87adba05dab ]
+
@@ -10 +11,0 @@
-Cc: stable at dpdk.org
@@ -18 +19 @@
-index 1e5c1f8c04..af1a10cd66 100644
+index fe5f7f46d0..d533d6cda6 100644
@@ -21 +22 @@
-@@ -131,5 +131,6 @@ roc_lmt_submit_ldeor(plt_iova_t io_address)
+@@ -112,5 +112,6 @@ roc_lmt_submit_ldeor(plt_iova_t io_address)
@@ -29 +30 @@
-@@ -142,5 +143,6 @@ roc_lmt_submit_ldeorl(plt_iova_t io_address)
+@@ -123,5 +124,6 @@ roc_lmt_submit_ldeorl(plt_iova_t io_address)
@@ -37 +38 @@
-@@ -151,5 +153,6 @@ roc_lmt_submit_steor(uint64_t data, plt_iova_t io_address)
+@@ -132,5 +134,6 @@ roc_lmt_submit_steor(uint64_t data, plt_iova_t io_address)
@@ -45 +46 @@
-@@ -159,5 +162,6 @@ roc_lmt_submit_steorl(uint64_t data, plt_iova_t io_address)
+@@ -140,5 +143,6 @@ roc_lmt_submit_steorl(uint64_t data, plt_iova_t io_address)



More information about the stable mailing list