From 73dcdbf1a30968f84c97cc6a4165a9f5d823e8b2 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Tue, 19 Dec 2006 15:23:20 +0000 Subject: [PATCH] use light-weight sync on ppc64 --- src/os/unix/ngx_gcc_atomic_ppc.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/os/unix/ngx_gcc_atomic_ppc.h b/src/os/unix/ngx_gcc_atomic_ppc.h index 147c44f31..68d244e41 100644 --- a/src/os/unix/ngx_gcc_atomic_ppc.h +++ b/src/os/unix/ngx_gcc_atomic_ppc.h @@ -67,6 +67,13 @@ ngx_atomic_fetch_add(ngx_atomic_t *value, ngx_atomic_int_t add) return res; } + +#if (NGX_SMP) +#define ngx_memory_barrier() __asm__ volatile ("lwsync\n" ::: "memory") +#else +#define ngx_memory_barrier() __asm__ volatile ("" ::: "memory") +#endif + #else static ngx_inline ngx_atomic_uint_t @@ -117,8 +124,6 @@ ngx_atomic_fetch_add(ngx_atomic_t *value, ngx_atomic_int_t add) return res; } -#endif - #if (NGX_SMP) #define ngx_memory_barrier() __asm__ volatile ("sync\n" ::: "memory") @@ -126,4 +131,7 @@ ngx_atomic_fetch_add(ngx_atomic_t *value, ngx_atomic_int_t add) #define ngx_memory_barrier() __asm__ volatile ("" ::: "memory") #endif +#endif + + #define ngx_cpu_pause()