uatomic/x86: Remove redundant memory barriers
[urcu.git] / include / urcu / map / urcu-mb.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 #define rcu_read_lock urcu_mb_read_lock
19 #define _rcu_read_lock _urcu_mb_read_lock
20 #define rcu_read_unlock urcu_mb_read_unlock
21 #define _rcu_read_unlock _urcu_mb_read_unlock
22 #define rcu_read_ongoing urcu_mb_read_ongoing
23 #define _rcu_read_ongoing _urcu_mb_read_ongoing
24 #define rcu_quiescent_state urcu_mb_quiescent_state
25 #define _rcu_quiescent_state _urcu_mb_quiescent_state
26 #define rcu_thread_offline urcu_mb_thread_offline
27 #define rcu_thread_online urcu_mb_thread_online
28 #define rcu_register_thread urcu_mb_register_thread
29 #define rcu_unregister_thread urcu_mb_unregister_thread
30 #define rcu_init urcu_mb_init
31 #define rcu_exit urcu_mb_exit
32 #define synchronize_rcu urcu_mb_synchronize_rcu
33 #define rcu_reader urcu_mb_reader
34 #define rcu_gp urcu_mb_gp
35
36 #define get_cpu_call_rcu_data urcu_mb_get_cpu_call_rcu_data
37 #define get_call_rcu_thread urcu_mb_get_call_rcu_thread
38 #define create_call_rcu_data urcu_mb_create_call_rcu_data
39 #define set_cpu_call_rcu_data urcu_mb_set_cpu_call_rcu_data
40 #define get_default_call_rcu_data urcu_mb_get_default_call_rcu_data
41 #define get_call_rcu_data urcu_mb_get_call_rcu_data
42 #define get_thread_call_rcu_data urcu_mb_get_thread_call_rcu_data
43 #define set_thread_call_rcu_data urcu_mb_set_thread_call_rcu_data
44 #define create_all_cpu_call_rcu_data urcu_mb_create_all_cpu_call_rcu_data
45 #define free_all_cpu_call_rcu_data urcu_mb_free_all_cpu_call_rcu_data
46 #define call_rcu urcu_mb_call_rcu
47 #define call_rcu_data_free urcu_mb_call_rcu_data_free
48 #define call_rcu_before_fork urcu_mb_call_rcu_before_fork
49 #define call_rcu_after_fork_parent urcu_mb_call_rcu_after_fork_parent
50 #define call_rcu_after_fork_child urcu_mb_call_rcu_after_fork_child
51 #define rcu_barrier urcu_mb_barrier
52
53 #define defer_rcu urcu_mb_defer_rcu
54 #define rcu_defer_register_thread urcu_mb_defer_register_thread
55 #define rcu_defer_unregister_thread urcu_mb_defer_unregister_thread
56 #define rcu_defer_barrier urcu_mb_defer_barrier
57 #define rcu_defer_barrier_thread urcu_mb_defer_barrier_thread
58 #define rcu_defer_exit urcu_mb_defer_exit
59
60 #define rcu_flavor urcu_mb_flavor
61
62 #define urcu_register_rculfhash_atfork \
63 urcu_mb_register_rculfhash_atfork
64 #define urcu_unregister_rculfhash_atfork \
65 urcu_mb_unregister_rculfhash_atfork
66
67 #define start_poll_synchronize_rcu urcu_mb_start_poll_synchronize_rcu
68 #define poll_state_synchronize_rcu urcu_mb_poll_state_synchronize_rcu
69
70
71 /* Compat identifiers for prior undocumented multiflavor usage */
72 #ifndef URCU_NO_COMPAT_IDENTIFIERS
73
74 #define rcu_dereference_mb urcu_mb_dereference
75 #define rcu_cmpxchg_pointer_mb urcu_mb_cmpxchg_pointer
76 #define rcu_xchg_pointer_mb urcu_mb_xchg_pointer
77 #define rcu_set_pointer_mb urcu_mb_set_pointer
78
79 #define rcu_mb_before_fork urcu_mb_before_fork
80 #define rcu_mb_after_fork_parent urcu_mb_after_fork_parent
81 #define rcu_mb_after_fork_child urcu_mb_after_fork_child
82
83 #define rcu_read_lock_mb urcu_mb_read_lock
84 #define _rcu_read_lock_mb _urcu_mb_read_lock
85 #define rcu_read_unlock_mb urcu_mb_read_unlock
86 #define _rcu_read_unlock_mb _urcu_mb_read_unlock
87 #define rcu_read_ongoing_mb urcu_mb_read_ongoing
88 #define _rcu_read_ongoing_mb _urcu_mb_read_ongoing
89 #define rcu_register_thread_mb urcu_mb_register_thread
90 #define rcu_unregister_thread_mb urcu_mb_unregister_thread
91 #define rcu_init_mb urcu_mb_init
92 #define rcu_exit_mb urcu_mb_exit
93 #define synchronize_rcu_mb urcu_mb_synchronize_rcu
94 #define rcu_reader_mb urcu_mb_reader
95 #define rcu_gp_mb urcu_mb_gp
96
97 #define get_cpu_call_rcu_data_mb urcu_mb_get_cpu_call_rcu_data
98 #define get_call_rcu_thread_mb urcu_mb_get_call_rcu_thread
99 #define create_call_rcu_data_mb urcu_mb_create_call_rcu_data
100 #define set_cpu_call_rcu_data_mb urcu_mb_set_cpu_call_rcu_data
101 #define get_default_call_rcu_data_mb urcu_mb_get_default_call_rcu_data
102 #define get_call_rcu_data_mb urcu_mb_get_call_rcu_data
103 #define get_thread_call_rcu_data_mb urcu_mb_get_thread_call_rcu_data
104 #define set_thread_call_rcu_data_mb urcu_mb_set_thread_call_rcu_data
105 #define create_all_cpu_call_rcu_data_mb urcu_mb_create_all_cpu_call_rcu_data
106 #define free_all_cpu_call_rcu_data_mb urcu_mb_free_all_cpu_call_rcu_data
107 #define call_rcu_mb urcu_mb_call_rcu
108 #define call_rcu_data_free_mb urcu_mb_call_rcu_data_free
109 #define call_rcu_before_fork_mb urcu_mb_call_rcu_before_fork
110 #define call_rcu_after_fork_parent_mb urcu_mb_call_rcu_after_fork_parent
111 #define call_rcu_after_fork_child_mb urcu_mb_call_rcu_after_fork_child
112 #define rcu_barrier_mb urcu_mb_barrier
113
114 #define defer_rcu_mb urcu_mb_defer_rcu
115 #define rcu_defer_register_thread_mb urcu_mb_defer_register_thread
116 #define rcu_defer_unregister_thread_mb urcu_mb_defer_unregister_thread
117 #define rcu_defer_barrier_mb urcu_mb_defer_barrier
118 #define rcu_defer_barrier_thread_mb urcu_mb_defer_barrier_thread
119 #define rcu_defer_exit_mb urcu_mb_defer_exit
120
121 #define rcu_flavor_mb urcu_mb_flavor
122
123 #define urcu_register_rculfhash_atfork_mb \
124 urcu_mb_register_rculfhash_atfork
125 #define urcu_unregister_rculfhash_atfork_mb \
126 urcu_mb_unregister_rculfhash_atfork
127
128 #endif /* URCU_NO_COMPAT_IDENTIFIERS */
This page took 0.031132 seconds and 4 git commands to generate.