3 # Run in userspace-rcu git archive. Prints out a list of API members
4 # and the version in which they were introduced. You need to list all
5 # the API members immediately below. Depends on "cscope".
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 # Copyright (C) IBM Corporation, 2013
23 # Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
25 api
="caa_container_of \
30 call_rcu_after_fork_child \
31 call_rcu_after_fork_parent \
32 call_rcu_before_fork \
35 cds_hlist_add_head_rcu \
39 cds_hlist_for_each_entry \
40 cds_hlist_for_each_entry_rcu \
41 cds_hlist_for_each_entry_safe \
45 cds_lfht_add_replace \
47 cds_lfht_count_nodes \
52 cds_lfht_for_each_duplicate \
53 cds_lfht_for_each_entry \
54 cds_lfht_for_each_entry_duplicate \
55 cds_lfht_is_node_deleted \
56 cds_lfht_iter_get_node \
60 cds_lfht_next_duplicate \
67 cds_lfq_node_init_rcu \
70 cds_lfs_for_each_safe \
75 cds_lfs_pop_all_blocking \
76 cds_lfs_pop_blocking \
88 cds_list_first_entry \
90 cds_list_for_each_entry \
91 cds_list_for_each_entry_rcu \
92 cds_list_for_each_entry_reverse \
93 cds_list_for_each_prev \
94 cds_list_for_each_prev_safe \
95 cds_list_for_each_rcu \
96 cds_list_for_each_safe \
101 cds_list_replace_init \
102 cds_list_replace_rcu \
104 __cds_wfcq_dequeue_blocking \
105 cds_wfcq_dequeue_blocking \
106 cds_wfcq_dequeue_lock \
107 __cds_wfcq_dequeue_nonblocking \
108 cds_wfcq_dequeue_unlock \
111 __cds_wfcq_first_blocking \
112 __cds_wfcq_first_nonblocking \
113 __cds_wfcq_for_each_blocking \
114 __cds_wfcq_for_each_blocking_safe \
116 __cds_wfcq_next_blocking \
117 __cds_wfcq_next_nonblocking \
119 __cds_wfcq_splice_blocking \
120 cds_wfcq_splice_blocking \
121 __cds_wfcq_splice_nonblocking \
124 cds_wfs_for_each_blocking \
125 cds_wfs_for_each_blocking_safe \
127 cds_wfs_next_blocking \
128 cds_wfs_next_nonblocking \
131 cds_wfs_pop_all_blocking \
132 __cds_wfs_pop_blocking \
133 cds_wfs_pop_blocking \
135 __cds_wfs_pop_nonblocking \
142 cmm_smp_mb__after_uatomic_add \
143 cmm_smp_mb__after_uatomic_and \
144 cmm_smp_mb__after_uatomic_dec \
145 cmm_smp_mb__after_uatomic_inc \
146 cmm_smp_mb__after_uatomic_or \
147 cmm_smp_mb__before_uatomic_add \
148 cmm_smp_mb__before_uatomic_and \
149 cmm_smp_mb__before_uatomic_dec \
150 cmm_smp_mb__before_uatomic_inc \
151 cmm_smp_mb__before_uatomic_or \
155 create_all_cpu_call_rcu_data \
156 create_call_rcu_data \
160 free_all_cpu_call_rcu_data \
162 get_call_rcu_thread \
163 get_cpu_call_rcu_data \
164 get_default_call_rcu_data \
165 get_thread_call_rcu_data \
167 rcu_cmpxchg_pointer \
171 rcu_quiescent_state \
174 rcu_register_thread \
178 rcu_unregister_thread \
180 set_cpu_call_rcu_data \
181 set_thread_call_rcu_data \
195 T
=/tmp
/urcu-api-list.sh.$$
199 git remote update
1>&2
200 git
reset --hard origin
/master
1>&2
201 git branch
-f master
1>&2
206 for tag
in $tags master
209 git
reset --hard $tag 1>&2
210 rm -rf cscope.
* tests
211 find . \
( -name SCCS
-prune \
) -o \
( -name .git
-prune \
) -o \
( -name '*.[h]' -print \
) |
grep -v -e '-impl\.h$' | cscope
-bkq -i -
214 cscope
-d -L -0 $i > $T/$tag/$i
215 if test -s $T/$tag/$i
222 # The call_rcu() preceding v0.6.0 is to be ignored
229 ( ls $T/$tag; ls $T/$lasttag ) |
sort |
uniq -u |
230 awk -v tag
=$tag '{ print "\t<tr><td>" $1 "</td><td>" tag "</td></tr>" }'
This page took 0.033172 seconds and 4 git commands to generate.