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

Xueming Li xuemingl at nvidia.com
Sun Apr 9 17:24:00 CEST 2023


Hi,

FYI, your patch has been queued to stable release 22.11.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 04/11/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://git.dpdk.org/dpdk-stable/log/?h=22.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/log/?h=22.11-staging/commit/fac8d80e0d4c450768804488c81e5f0b94c14c32

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From fac8d80e0d4c450768804488c81e5f0b94c14c32 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
Cc: Xueming Li <xuemingl at nvidia.com>

[ 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 13f98ed549..45cbb4e587 100644
--- a/drivers/common/cnxk/roc_io.h
+++ b/drivers/common/cnxk/roc_io.h
@@ -125,7 +125,8 @@ 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;
 }
 
@@ -136,7 +137,8 @@ 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;
 }
 
@@ -145,7 +147,8 @@ 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");
 }
 
 static __plt_always_inline void
@@ -153,7 +156,8 @@ 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");
 }
 
 static __plt_always_inline void
-- 
2.25.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-04-09 21:45:40.123717300 +0800
+++ 0052-common-cnxk-add-memory-clobber-to-steor-and-ldeor.patch	2023-04-09 21:45:38.659042200 +0800
@@ -1 +1 @@
-From a032b598b30daa9c2f01a6d7de07c87adba05dab Mon Sep 17 00:00:00 2001
+From fac8d80e0d4c450768804488c81e5f0b94c14c32 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit a032b598b30daa9c2f01a6d7de07c87adba05dab ]
@@ -10 +12,0 @@
-Cc: stable at dpdk.org
@@ -18 +20 @@
-index 1e5c1f8c04..af1a10cd66 100644
+index 13f98ed549..45cbb4e587 100644
@@ -21 +23 @@
-@@ -130,7 +130,8 @@ roc_lmt_submit_ldeor(plt_iova_t io_address)
+@@ -125,7 +125,8 @@ roc_lmt_submit_ldeor(plt_iova_t io_address)
@@ -31 +33 @@
-@@ -141,7 +142,8 @@ roc_lmt_submit_ldeorl(plt_iova_t io_address)
+@@ -136,7 +137,8 @@ roc_lmt_submit_ldeorl(plt_iova_t io_address)
@@ -41 +43 @@
-@@ -150,7 +152,8 @@ roc_lmt_submit_steor(uint64_t data, plt_iova_t io_address)
+@@ -145,7 +147,8 @@ roc_lmt_submit_steor(uint64_t data, plt_iova_t io_address)
@@ -51 +53 @@
-@@ -158,7 +161,8 @@ roc_lmt_submit_steorl(uint64_t data, plt_iova_t io_address)
+@@ -153,7 +156,8 @@ roc_lmt_submit_steorl(uint64_t data, plt_iova_t io_address)


More information about the stable mailing list