uatomic/x86: Remove redundant memory barriers
[urcu.git] / include / urcu / map / urcu-bp.h
1 // SPDX-FileCopyrightText: 2009 Paul E. McKenney, IBM Corporation.
2 // SPDX-FileCopyrightText: 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 //
4 // SPDX-License-Identifier: LGPL-2.1-or-later
5
6 /*
7 * Userspace RCU header -- name mapping to allow multiple flavors to be
8 * used in the same executable.
9 *
10 * LGPL-compatible code should include this header with :
11 *
12 * #define _LGPL_SOURCE
13 * #include <urcu.h>
14 *
15 * IBM's contributions to this file may be relicensed under LGPLv2 or later.
16 */
17
18 /* Mapping macros to allow multiple flavors in a single binary. */
19
20 #define rcu_read_lock urcu_bp_read_lock
21 #define _rcu_read_lock _urcu_bp_read_lock
22 #define rcu_read_unlock urcu_bp_read_unlock
23 #define _rcu_read_unlock _urcu_bp_read_unlock
24 #define rcu_read_ongoing urcu_bp_read_ongoing
25 #define _rcu_read_ongoing _urcu_bp_read_ongoing
26 #define rcu_quiescent_state urcu_bp_quiescent_state
27 #define _rcu_quiescent_state _urcu_bp_quiescent_state
28 #define rcu_thread_offline urcu_bp_thread_offline
29 #define rcu_thread_online urcu_bp_thread_online
30 #define rcu_register_thread urcu_bp_register_thread
31 #define rcu_unregister_thread urcu_bp_unregister_thread
32 #define rcu_init urcu_bp_init
33 #define rcu_exit urcu_bp_exit
34 #define synchronize_rcu urcu_bp_synchronize_rcu
35 #define rcu_reader urcu_bp_reader
36 #define rcu_gp urcu_bp_gp
37
38 #define get_cpu_call_rcu_data urcu_bp_get_cpu_call_rcu_data
39 #define get_call_rcu_thread urcu_bp_get_call_rcu_thread
40 #define create_call_rcu_data urcu_bp_create_call_rcu_data
41 #define set_cpu_call_rcu_data urcu_bp_set_cpu_call_rcu_data
42 #define get_default_call_rcu_data urcu_bp_get_default_call_rcu_data
43 #define get_call_rcu_data urcu_bp_get_call_rcu_data
44 #define get_thread_call_rcu_data urcu_bp_get_thread_call_rcu_data
45 #define set_thread_call_rcu_data urcu_bp_set_thread_call_rcu_data
46 #define create_all_cpu_call_rcu_data urcu_bp_create_all_cpu_call_rcu_data
47 #define free_all_cpu_call_rcu_data urcu_bp_free_all_cpu_call_rcu_data
48 #define call_rcu urcu_bp_call_rcu
49 #define call_rcu_data_free urcu_bp_call_rcu_data_free
50 #define call_rcu_before_fork urcu_bp_call_rcu_before_fork
51 #define call_rcu_after_fork_parent urcu_bp_call_rcu_after_fork_parent
52 #define call_rcu_after_fork_child urcu_bp_call_rcu_after_fork_child
53 #define rcu_barrier urcu_bp_barrier
54
55 #define defer_rcu urcu_bp_defer_rcu
56 #define rcu_defer_register_thread urcu_bp_defer_register_thread
57 #define rcu_defer_unregister_thread urcu_bp_defer_unregister_thread
58 #define rcu_defer_barrier urcu_bp_defer_barrier
59 #define rcu_defer_barrier_thread urcu_bp_defer_barrier_thread
60 #define rcu_defer_exit urcu_bp_defer_exit
61
62 #define rcu_flavor urcu_bp_flavor
63
64 #define rcu_yield_active urcu_bp_yield_active
65 #define rcu_rand_yield urcu_bp_rand_yield
66
67 #define urcu_register_rculfhash_atfork \
68 urcu_bp_register_rculfhash_atfork
69 #define urcu_unregister_rculfhash_atfork \
70 urcu_bp_unregister_rculfhash_atfork
71
72 #define start_poll_synchronize_rcu urcu_bp_start_poll_synchronize_rcu
73 #define poll_state_synchronize_rcu urcu_bp_poll_state_synchronize_rcu
74
75
76 /* Compat identifiers for prior undocumented multiflavor usage */
77 #ifndef URCU_NO_COMPAT_IDENTIFIERS
78
79 #define rcu_dereference_bp urcu_bp_dereference
80 #define rcu_cmpxchg_pointer_bp urcu_bp_cmpxchg_pointer
81 #define rcu_xchg_pointer_bp urcu_bp_xchg_pointer
82 #define rcu_set_pointer_bp urcu_bp_set_pointer
83
84 #define rcu_bp_before_fork urcu_bp_before_fork
85 #define rcu_bp_after_fork_parent urcu_bp_after_fork_parent
86 #define rcu_bp_after_fork_child urcu_bp_after_fork_child
87
88 #define rcu_read_lock_bp urcu_bp_read_lock
89 #define _rcu_read_lock_bp _urcu_bp_read_lock
90 #define rcu_read_unlock_bp urcu_bp_read_unlock
91 #define _rcu_read_unlock_bp _urcu_bp_read_unlock
92 #define rcu_read_ongoing_bp urcu_bp_read_ongoing
93 #define _rcu_read_ongoing_bp _urcu_bp_read_ongoing
94 #define rcu_register_thread_bp urcu_bp_register_thread
95 #define rcu_unregister_thread_bp urcu_bp_unregister_thread
96 #define rcu_init_bp urcu_bp_init
97 #define rcu_exit_bp urcu_bp_exit
98 #define synchronize_rcu_bp urcu_bp_synchronize_rcu
99 #define rcu_reader_bp urcu_bp_reader
100 #define rcu_gp_bp urcu_bp_gp
101
102 #define get_cpu_call_rcu_data_bp urcu_bp_get_cpu_call_rcu_data
103 #define get_call_rcu_thread_bp urcu_bp_get_call_rcu_thread
104 #define create_call_rcu_data_bp urcu_bp_create_call_rcu_data
105 #define set_cpu_call_rcu_data_bp urcu_bp_set_cpu_call_rcu_data
106 #define get_default_call_rcu_data_bp urcu_bp_get_default_call_rcu_data
107 #define get_call_rcu_data_bp urcu_bp_get_call_rcu_data
108 #define get_thread_call_rcu_data_bp urcu_bp_get_thread_call_rcu_data
109 #define set_thread_call_rcu_data_bp urcu_bp_set_thread_call_rcu_data
110 #define create_all_cpu_call_rcu_data_bp urcu_bp_create_all_cpu_call_rcu_data
111 #define free_all_cpu_call_rcu_data_bp urcu_bp_free_all_cpu_call_rcu_data
112 #define call_rcu_bp urcu_bp_call_rcu
113 #define call_rcu_data_free_bp urcu_bp_call_rcu_data_free
114 #define call_rcu_before_fork_bp urcu_bp_call_rcu_before_fork
115 #define call_rcu_after_fork_parent_bp urcu_bp_call_rcu_after_fork_parent
116 #define call_rcu_after_fork_child_bp urcu_bp_call_rcu_after_fork_child
117 #define rcu_barrier_bp urcu_bp_barrier
118
119 #define defer_rcu_bp urcu_bp_defer_rcu
120 #define rcu_defer_register_thread_bp urcu_bp_defer_register_thread
121 #define rcu_defer_unregister_thread_bp urcu_bp_defer_unregister_thread
122 #define rcu_defer_barrier_bp urcu_bp_defer_barrier
123 #define rcu_defer_barrier_thread_bp urcu_bp_defer_barrier_thread
124 #define rcu_defer_exit_bp urcu_bp_defer_exit
125
126 #define rcu_flavor_bp urcu_bp_flavor
127
128 #define rcu_yield_active_bp urcu_bp_yield_active
129 #define rcu_rand_yield_bp urcu_bp_rand_yield
130
131 #define urcu_register_rculfhash_atfork_bp \
132 urcu_bp_register_rculfhash_atfork
133 #define urcu_unregister_rculfhash_atfork_bp \
134 urcu_bp_unregister_rculfhash_atfork
135
136 #endif /* URCU_NO_COMPAT_IDENTIFIERS */
This page took 0.030997 seconds and 4 git commands to generate.