Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ia64: define __smp_xxx

This defines __smp_xxx barriers for ia64,
for use by virtualization.

smp_xxx barriers are removed as they are
defined correctly by asm-generic/barriers.h

This reduces the amount of arch-specific boiler-plate code.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

+5 -9
+5 -9
arch/ia64/include/asm/barrier.h
··· 42 42 #define dma_rmb() mb() 43 43 #define dma_wmb() mb() 44 44 45 - #ifdef CONFIG_SMP 46 - # define smp_mb() mb() 47 - #else 48 - # define smp_mb() barrier() 49 - #endif 45 + # define __smp_mb() mb() 50 46 51 - #define smp_mb__before_atomic() barrier() 52 - #define smp_mb__after_atomic() barrier() 47 + #define __smp_mb__before_atomic() barrier() 48 + #define __smp_mb__after_atomic() barrier() 53 49 54 50 /* 55 51 * IA64 GCC turns volatile stores into st.rel and volatile loads into ld.acq no 56 52 * need for asm trickery! 57 53 */ 58 54 59 - #define smp_store_release(p, v) \ 55 + #define __smp_store_release(p, v) \ 60 56 do { \ 61 57 compiletime_assert_atomic_type(*p); \ 62 58 barrier(); \ 63 59 WRITE_ONCE(*p, v); \ 64 60 } while (0) 65 61 66 - #define smp_load_acquire(p) \ 62 + #define __smp_load_acquire(p) \ 67 63 ({ \ 68 64 typeof(*p) ___p1 = READ_ONCE(*p); \ 69 65 compiletime_assert_atomic_type(*p); \