Thread (16 messages) 16 messages, 4 authors, 2023-02-23

Re: [PATCH v2] arch/powerpc/include/asm/barrier.h: redefine rmb and wmb to lwsync

From: Christophe Leroy <hidden>
Date: 2023-02-22 09:53:47
Also in: lkml


Le 22/02/2023 à 10:46, Kautuk Consul a écrit :
quoted
Reviewed-by: Christophe Leroy <redacted>
Thanks!
quoted
quoted
---
   arch/powerpc/include/asm/barrier.h | 7 +++++++
   1 file changed, 7 insertions(+)
diff --git a/arch/powerpc/include/asm/barrier.h b/arch/powerpc/include/asm/barrier.h
index b95b666f0374..e088dacc0ee8 100644
--- a/arch/powerpc/include/asm/barrier.h
+++ b/arch/powerpc/include/asm/barrier.h
@@ -36,8 +36,15 @@
    * heavy-weight sync, so smp_wmb() can be a lighter-weight eieio.
    */
   #define __mb()   __asm__ __volatile__ ("sync" : : : "memory")
+
+/* The sub-arch has lwsync. */
+#if defined(CONFIG_PPC64) || defined(CONFIG_PPC_E500MC)
+#define __rmb() __asm__ __volatile__ ("lwsync" : : : "memory")
+#define __wmb() __asm__ __volatile__ ("lwsync" : : : "memory")
I'd have preferred with 'asm volatile' though.
Sorry about that! That wasn't the intent of this patch.
Probably another patch series should change this manner of #defining
assembly.
Why adding new line wrong then have to have another patch to make them 
right ?

When you build a new house in an old village, you first build your house 
with old materials and then you replace everything with new material ?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help