X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu%2Fmap%2Furcu.h;h=77b37215734bfa163fbe680a3582a5b8a0b2af66;hp=759cb4108a8c8cb2787813a518e4362e19acc274;hb=553b7eb9da3a223368abdf3f6a5ead35acf8a20b;hpb=1de4df4b770e5e90440008becc5e14a15c75c6e0 diff --git a/urcu/map/urcu.h b/urcu/map/urcu.h index 759cb41..77b3721 100644 --- a/urcu/map/urcu.h +++ b/urcu/map/urcu.h @@ -38,45 +38,21 @@ #define RCU_MEMBARRIER #endif -/* - * RCU_MEMBARRIER is only possibly available on Linux. Fallback to - * RCU_MB - * otherwise. - */ -#if !defined(__linux__) && defined(RCU_MEMBARRIER) -#undef RCU_MEMBARRIER -#define RCU_MB -#endif - -#ifdef RCU_MEMBARRIER -#include - -/* 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 -#endif - #ifdef RCU_MEMBARRIER #define rcu_read_lock rcu_read_lock_memb #define _rcu_read_lock _rcu_read_lock_memb #define rcu_read_unlock rcu_read_unlock_memb #define _rcu_read_unlock _rcu_read_unlock_memb +#define rcu_read_ongoing rcu_read_ongoing_memb +#define _rcu_read_ongoing _rcu_read_ongoing_memb #define rcu_register_thread rcu_register_thread_memb #define rcu_unregister_thread rcu_unregister_thread_memb #define rcu_init rcu_init_memb #define rcu_exit rcu_exit_memb #define synchronize_rcu synchronize_rcu_memb #define rcu_reader rcu_reader_memb -#define rcu_gp_ctr rcu_gp_ctr_memb -#define rcu_gp_futex rcu_gp_futex_memb +#define rcu_gp rcu_gp_memb #define get_cpu_call_rcu_data get_cpu_call_rcu_data_memb #define get_call_rcu_thread get_call_rcu_thread_memb @@ -115,14 +91,15 @@ #define _rcu_read_lock _rcu_read_lock_sig #define rcu_read_unlock rcu_read_unlock_sig #define _rcu_read_unlock _rcu_read_unlock_sig +#define rcu_read_ongoing rcu_read_ongoing_sig +#define _rcu_read_ongoing _rcu_read_ongoing_sig #define rcu_register_thread rcu_register_thread_sig #define rcu_unregister_thread rcu_unregister_thread_sig #define rcu_init rcu_init_sig #define rcu_exit rcu_exit_sig #define synchronize_rcu synchronize_rcu_sig #define rcu_reader rcu_reader_sig -#define rcu_gp_ctr rcu_gp_ctr_sig -#define rcu_gp_futex rcu_gp_futex_sig +#define rcu_gp rcu_gp_sig #define get_cpu_call_rcu_data get_cpu_call_rcu_data_sig #define get_call_rcu_thread get_call_rcu_thread_sig @@ -158,14 +135,15 @@ #define _rcu_read_lock _rcu_read_lock_mb #define rcu_read_unlock rcu_read_unlock_mb #define _rcu_read_unlock _rcu_read_unlock_mb +#define rcu_read_ongoing rcu_read_ongoing_mb +#define _rcu_read_ongoing _rcu_read_ongoing_mb #define rcu_register_thread rcu_register_thread_mb #define rcu_unregister_thread rcu_unregister_thread_mb #define rcu_init rcu_init_mb #define rcu_exit rcu_exit_mb #define synchronize_rcu synchronize_rcu_mb #define rcu_reader rcu_reader_mb -#define rcu_gp_ctr rcu_gp_ctr_mb -#define rcu_gp_futex rcu_gp_futex_mb +#define rcu_gp rcu_gp_mb #define get_cpu_call_rcu_data get_cpu_call_rcu_data_mb #define get_call_rcu_thread get_call_rcu_thread_mb