tile: define __smp_xxx

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

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

Note: for 32 bit, keep smp_mb__after_atomic around since it's faster
than the generic implementation.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
This commit is contained in:
Michael S. Tsirkin 2015-12-27 15:04:42 +02:00
parent 45d9b85941
commit d39886a7d3
1 changed files with 5 additions and 4 deletions

View File

@ -79,11 +79,12 @@ mb_incoherent(void)
* But after the word is updated, the routine issues an "mf" before returning, * But after the word is updated, the routine issues an "mf" before returning,
* and since it's a function call, we don't even need a compiler barrier. * and since it's a function call, we don't even need a compiler barrier.
*/ */
#define smp_mb__before_atomic() smp_mb() #define __smp_mb__before_atomic() __smp_mb()
#define smp_mb__after_atomic() do { } while (0) #define __smp_mb__after_atomic() do { } while (0)
#define smp_mb__after_atomic() __smp_mb__after_atomic()
#else /* 64 bit */ #else /* 64 bit */
#define smp_mb__before_atomic() smp_mb() #define __smp_mb__before_atomic() __smp_mb()
#define smp_mb__after_atomic() smp_mb() #define __smp_mb__after_atomic() __smp_mb()
#endif #endif
#include <asm-generic/barrier.h> #include <asm-generic/barrier.h>