3 # SPDX-FileCopyrightText: 2013 IBM Corporation
5 # SPDX-License-Identifier: GPL-2.0-or-later
7 # Run in userspace-rcu git archive. Prints out a list of API members
8 # and the version in which they were introduced. You need to list all
9 # the API members immediately below. Depends on "cscope".
11 # Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
13 api
="caa_container_of \
18 call_rcu_after_fork_child \
19 call_rcu_after_fork_parent \
20 call_rcu_before_fork \
23 cds_hlist_add_head_rcu \
27 cds_hlist_for_each_entry \
28 cds_hlist_for_each_entry_rcu \
29 cds_hlist_for_each_entry_safe \
33 cds_lfht_add_replace \
35 cds_lfht_count_nodes \
40 cds_lfht_for_each_duplicate \
41 cds_lfht_for_each_entry \
42 cds_lfht_for_each_entry_duplicate \
43 cds_lfht_is_node_deleted \
44 cds_lfht_iter_get_node \
48 cds_lfht_next_duplicate \
55 cds_lfq_node_init_rcu \
58 cds_lfs_for_each_safe \
63 cds_lfs_pop_all_blocking \
64 cds_lfs_pop_blocking \
76 cds_list_first_entry \
78 cds_list_for_each_entry \
79 cds_list_for_each_entry_rcu \
80 cds_list_for_each_entry_reverse \
81 cds_list_for_each_prev \
82 cds_list_for_each_prev_safe \
83 cds_list_for_each_rcu \
84 cds_list_for_each_safe \
89 cds_list_replace_init \
90 cds_list_replace_rcu \
92 __cds_wfcq_dequeue_blocking \
93 cds_wfcq_dequeue_blocking \
94 cds_wfcq_dequeue_lock \
95 __cds_wfcq_dequeue_nonblocking \
96 cds_wfcq_dequeue_unlock \
99 __cds_wfcq_first_blocking \
100 __cds_wfcq_first_nonblocking \
101 __cds_wfcq_for_each_blocking \
102 __cds_wfcq_for_each_blocking_safe \
104 __cds_wfcq_next_blocking \
105 __cds_wfcq_next_nonblocking \
107 __cds_wfcq_splice_blocking \
108 cds_wfcq_splice_blocking \
109 __cds_wfcq_splice_nonblocking \
112 cds_wfs_for_each_blocking \
113 cds_wfs_for_each_blocking_safe \
115 cds_wfs_next_blocking \
116 cds_wfs_next_nonblocking \
119 cds_wfs_pop_all_blocking \
120 __cds_wfs_pop_blocking \
121 cds_wfs_pop_blocking \
123 __cds_wfs_pop_nonblocking \
130 cmm_smp_mb__after_uatomic_add \
131 cmm_smp_mb__after_uatomic_and \
132 cmm_smp_mb__after_uatomic_dec \
133 cmm_smp_mb__after_uatomic_inc \
134 cmm_smp_mb__after_uatomic_or \
135 cmm_smp_mb__before_uatomic_add \
136 cmm_smp_mb__before_uatomic_and \
137 cmm_smp_mb__before_uatomic_dec \
138 cmm_smp_mb__before_uatomic_inc \
139 cmm_smp_mb__before_uatomic_or \
143 create_all_cpu_call_rcu_data \
144 create_call_rcu_data \
148 free_all_cpu_call_rcu_data \
150 get_call_rcu_thread \
151 get_cpu_call_rcu_data \
152 get_default_call_rcu_data \
153 get_thread_call_rcu_data \
155 rcu_cmpxchg_pointer \
159 rcu_quiescent_state \
162 rcu_register_thread \
166 rcu_unregister_thread \
168 set_cpu_call_rcu_data \
169 set_thread_call_rcu_data \
183 T
=/tmp
/urcu-api-list.sh.$$
187 git remote update
1>&2
188 git
reset --hard origin
/master
1>&2
189 git branch
-f master
1>&2
194 for tag
in $tags master
197 git
reset --hard $tag 1>&2
198 rm -rf cscope.
* tests
199 find . \
( -name SCCS
-prune \
) -o \
( -name .git
-prune \
) -o \
( -name '*.[h]' -print \
) |
grep -v -e '-impl\.h$' | cscope
-bkq -i -
202 cscope
-d -L -0 $i > $T/$tag/$i
203 if test -s $T/$tag/$i
210 # The call_rcu() preceding v0.6.0 is to be ignored
217 ( ls $T/$tag; ls $T/$lasttag ) |
sort |
uniq -u |
218 awk -v tag
=$tag '{ print "\t<tr><td>" $1 "</td><td>" tag "</td></tr>" }'
This page took 0.033632 seconds and 5 git commands to generate.