Disable sys_membarrier
[userspace-rcu.git] / urcu / map / urcu.h
index 3f436a7375120366bca0898aafd3debdc45a48a5..3fae95fbdfafa6883b44ad1864cbfd85013321c5 100644 (file)
 #define RCU_MB
 #endif
 
+/*
+ * The ABI of sys_membarrier changed after its original implementation.
+ * Disable it for now. Use RCU_MB flavor instead.
+ */
 #ifdef RCU_MEMBARRIER
-#include <syscall.h>
-
-/* If the headers do not support SYS_membarrier, statically use RCU_MB */
-#ifdef SYS_membarrier
-# define MEMBARRIER_EXPEDITED          (1 << 0)
-# define MEMBARRIER_DELAYED            (1 << 1)
-# define MEMBARRIER_QUERY              (1 << 16)
-# define membarrier(...)               syscall(SYS_membarrier, __VA_ARGS__)
-#else
-# undef RCU_MEMBARRIER
-# define RCU_MB
-#endif
+#undef RCU_MEMBARRIER
+#define RCU_MB
 #endif
 
 #ifdef RCU_MEMBARRIER
@@ -95,6 +89,8 @@
 #define rcu_defer_barrier              rcu_defer_barrier_memb
 #define rcu_defer_barrier_thread       rcu_defer_barrier_thread_memb
 
+#define rcu_flavor                     rcu_flavor_memb
+
 #elif defined(RCU_SIGNAL)
 
 #define rcu_read_lock                  rcu_read_lock_sig
 #define rcu_defer_barrier              rcu_defer_barrier_sig
 #define rcu_defer_barrier_thread       rcu_defer_barrier_thread_sig
 
+#define rcu_flavor                     rcu_flavor_sig
+
 #elif defined(RCU_MB)
 
 #define rcu_read_lock                  rcu_read_lock_mb
 #define rcu_defer_barrier              rcu_defer_barrier_mb
 #define rcu_defer_barrier_thread       rcu_defer_barrier_thread_mb
 
+#define rcu_flavor                     rcu_flavor_mb
+
 #else
 
 #error "Undefined selection"
This page took 0.022672 seconds and 4 git commands to generate.