> #define mb() __asm__ __volatile__ ("sync" : : : "memory")
> -#define rmb() __asm__ __volatile__ (__stringify(LWSYNC) : : : "memory")
> +#define rmb() __asm__ __volatile__ ("sync" : : : "memory")
> #define wmb() __asm__ __volatile__ ("sync" : : : "memory")
> #define read_barrier_depends() do { } while(0)
>
> @@ -42,7 +42,7 @@
> #ifdef __KERNEL__
> #ifdef CONFIG_SMP
> #define smp_mb() mb()
> -#define smp_rmb() rmb()
> +#define smp_rmb() __asm__ __volatile__ (__stringify(LWSYNC) : : :
> "memory")
> #define smp_wmb() eieio()
> #define smp_read_barrier_depends() read_barrier_depends()
> #else
I had to think about this one for awhile. It looks at first glance to be the
right
thing to do. But I do wonder how long rmb() has been lwsync and if as a
practical
matter that has caused any problems? If this isn't causing any problems maybe
there
is some loigic we are overlooking?
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev