From mboxrd@z Thu Jan 1 00:00:00 1970 From: pbonzini@redhat.com (Paolo Bonzini) Date: Tue, 6 Sep 2011 13:50:14 +0200 Subject: [ltt-dev] [URCU PATCH v3 1/2] cmm: let per-arch files provide cmm_smp_* barriers In-Reply-To: References: Message-ID: <1315309814-8916-1-git-send-email-pbonzini@redhat.com> x86 instructions lfence and sfence are rarely needed, thus we want the cmm_smp_rmb/cmm_smp_wmb macros to be simple compiler barriers. So, let the per-arch files override the default definitions in arch/generic.h. Signed-off-by: Paolo Bonzini --- urcu/arch/generic.h | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/urcu/arch/generic.h b/urcu/arch/generic.h index 100d3c6..1ea7f59 100644 --- a/urcu/arch/generic.h +++ b/urcu/arch/generic.h @@ -100,22 +100,50 @@ extern "C" { #endif #ifdef CONFIG_RCU_SMP +#ifndef cmm_smp_mb #define cmm_smp_mb() cmm_mb() +#endif +#ifndef cmm_smp_rmb #define cmm_smp_rmb() cmm_rmb() +#endif +#ifndef cmm_smp_wmb #define cmm_smp_wmb() cmm_wmb() +#endif +#ifndef cmm_smp_mc #define cmm_smp_mc() cmm_mc() +#endif +#ifndef cmm_smp_rmc #define cmm_smp_rmc() cmm_rmc() +#endif +#ifndef cmm_smp_wmc #define cmm_smp_wmc() cmm_wmc() +#endif +#ifndef cmm_smp_read_barrier_depends #define cmm_smp_read_barrier_depends() cmm_read_barrier_depends() +#endif #else +#ifndef cmm_smp_mb #define cmm_smp_mb() cmm_barrier() +#endif +#ifndef cmm_smp_rmb #define cmm_smp_rmb() cmm_barrier() +#endif +#ifndef cmm_smp_wmb #define cmm_smp_wmb() cmm_barrier() +#endif +#ifndef cmm_smp_mc #define cmm_smp_mc() cmm_barrier() +#endif +#ifndef cmm_smp_rmc #define cmm_smp_rmc() cmm_barrier() +#endif +#ifndef cmm_smp_wmc #define cmm_smp_wmc() cmm_barrier() +#endif +#ifndef cmm_smp_read_barrier_depends #define cmm_smp_read_barrier_depends() #endif +#endif #ifndef caa_cpu_relax #define caa_cpu_relax() cmm_barrier() -- 1.7.6