Update version to 0.7.2
[urcu.git] / ChangeLog
1 2012-05-24 Userspace RCU 0.7.2
2 * Fix library compatibility
3
4 2012-05-24 Userspace RCU 0.7.1
5 * fix: uatomic_set return value compile fix for non-x86 arch.
6
7 2012-05-21 Userspace RCU 0.7.0
8 * Cleanup: header comments coding style
9 * Document uatomic operations
10 * Update return value of "set" operations
11 * Fix mremap wrapper for NetBSD 5
12 * Use urcu/tls-compat.h
13 * Implement urcu/tls-compat.h
14 * Add TLS detection m4 macro
15 * document concurrent data structures
16 * documentation: refer to rcu-api.txt
17 * Move API.txt to doc/rcu-api.txt, install in system doc/
18 * rculfhash: document implied memory barriers
19 * rculfhash: Ensure future-proof memory barrier semantic consistency
20 * API cleanup: use "uatomic_*" in cmm_smp_mb__ API
21 * uatomic: add memory barrier API for and/or/add/sub/inc/sub
22 * rculfhash: add runhash.sh test script
23 * rculfhash tests: add missing check
24 * rculfhash: fix: race between replace and del operations
25 * rculfhash: replace unneeded rcu_dereference by CMM_LOAD_SHARED
26 * rculfhash: use do {} while (0) for dbg_printf()
27 * rculfhash: cleanup typo
28 * rculfhash: update API comments
29 * rculfhash: update comments in implementation
30 * rculfhash tests: add long hash chains tests
31 * rculfhash tests: add uniqueness test
32 * rculfhash test: print test name
33 * rculfhash: stress requirement in documentation
34 * rculfhash: fix typo
35 * rculfhash tests: use array of callbacks to modularize
36 * rculfhash tests: modularize tests
37 * rculfhash: document ordering guarantees
38 * rculfhash: document linearizability guarantees
39 * rculfhash: update removal comment
40 * Add missing files to .gitignore
41 * Fix out-of-tree build
42 * rculfhash: check malloc NULL pointer
43 * Fix uatomic sign cast
44 * Remove unused jhash.h file
45 * Fix: use known license text, fix incorrect FSF address
46 * Fix: add missing sched.h include in rculfhash.c
47 * Allow tests to run on architectures without per-cpu call_rcu support
48 * Hash table test: FreeBSD compatibility fix
49 * tests: define _GNU_SOURCE instead of __USE_GNU
50 * RCU lock-free hash table: implement cds_lfht_is_node_deleted()
51 * Define _GNU_SOURCE to access CPU_ZERO() macro in uClibc
52 * Install ChangeLog and README into system's doc
53 * Fix AC_LANG_SOURCE usage: only takes one parameter
54 * Fix autoconf futex check
55 * configure.ac: Use AC_LANG_SOURCE for if else macros
56 * Refresh autoconf files
57 * Update gitignore
58 * rculfhash: add comment about hash seed randomness within test program
59 * readme: state correct GCC dependency for ARM
60 * rculfhash: remove an invocation of bit_reverse_ulong() when adding
61 * rculfhash: remove unneeded conversion
62 * rculfhash: remove unneeded clear_flag()
63 * cds_lfht_replace: add checks for old/new node hash/value match
64 * rculfhash: use node instead of iter argument for deletion
65 * rculfhash: number of logically removed nodes should not appear in API
66 * Document that flags could be represented on 2 bits
67 * Add missing REMOVAL_OWNER_FLAG comment to cds_lfht_node comment
68 * _cds_lfht_del is not used for buckets anymore, remove parameter
69 * rculfhash: Relax atomicity guarantees required by removal operation
70 * remove unneeded "return;"
71 * simplify the deletion for bucket node
72 * Remove unneeded code
73 * Cleanup DEFINE_RCU_FLAVOR()
74 * Add cds_lfht_ prefix to fls_ulong, get_count_order_ulong, get_count_order_u32
75 * Merge RCU Lock-Free Resizable Hash Table
76
77 2011-12-12 Userspace RCU 0.6.7
78 * Add compat file for test urcu wfs
79 * Add missing compat file for wfq test
80 * hlist.h: Add missing stddef.h include for NULL
81 * call_rcu: Add missing call_rcu_before_fork and
82 call_rcu_after_fork_parent declarations
83 * Describe autotools/libtool/automake version dependency
84 * Remove m4_ifdef for AC_PROG_LIBTOOL (deprecated)
85 * Support older autotools
86 * Apply autoupdate to configure.ac
87 * Fix build for amd64 environment (for FreeBSD 8.2)
88 * Add missing rcu_dereference_sym_bp
89 * Install test scripts in the dist tarball
90
91 2011-11-03 Userspace RCU 0.6.6
92 * qsbr vs call_rcu : remove exit assertion
93 * Rename likely/unlikely to caa_likely/caa_unlikely
94 * Reinsert missing test_urcu_*.c files (missing in rename)
95 * rename test_qsbr to test_urcu_qsbr
96 * urcu-pointer: fix rcu_set_pointer unset return value
97 * Enhance API.txt documentation, add to Makefile as EXTRA_DIST
98
99 2011-09-29 Userspace RCU 0.6.5
100 * call_rcu: Document call_rcu requirements
101 * call_rcu: fix error handling of malloc error
102 * urcu call_rcu: Use RCU read-side protection for per-cpu call_rcu data
103 * urcu,call_rcu: Cleanup call_rcu_data pointers before use in child
104 * urcu,call_rcu: avoid create call_rcu_data for child when unneed
105 * urcu,defer_rcu: Make defer_rcu encoding more compact for marker
106 * urcu_defer: Use cancellation flag instead of pthread_cancel()
107 * urcu,call_rcu: protects call_rcu_data_list when remove node
108 * Create default call rcu data upon per-cpu call-rcu teardown
109 * powerpc: use __NO_LWSYNC__ check to use appropriate lwsync/sync opcode
110 * cmm: provide lightweight smp_rmb/smp_wmb on PPC
111 * atomic: provide seq_cst semantics on powerpc
112 * avoid leaking crdp for failed path
113 * Return -EEXIST when the old cpu call_rcu_data has not been removed
114 * protect writing to per_cpu_call_rcu_data[*]
115 * wake up default call_rcu thread after we move the leftover callbacks
116 * avoid memory leak in call_rcu_data_free()
117 * urcu call_rcu: fix use after free()
118 * use get_cpu_call_rcu_data() for get_call_rcu_data()
119 * init maxcpus before use
120 * call_rcu implementation: add missing static
121 * Document QSBR interaction with mutexes
122 * urcu-pointer: implement URCU_FORCE_CAST for C++ compatibility of urcu-pointer.h
123 * urcu-qsbr: use rcu_thread_offline/rcu_thread_online instead of inlining them
124 * Pair all_cpu call_rcu create with free
125 * QSBR: add missing wakeups in synchronize_rcu code
126 * cmm: do not generate code for smp_rmb/smp_wmb on x86_64
127 * cmm: let per-arch files provide cmm_smp_* barriers
128 * Optimize caa_get_cycles() for PowerPC64
129 * lfq/lfs tests: use call_rcu
130 * list: Add cds_list_first_entry
131 * rculfstack/queue: define _LGPL_SOURCE around static header include
132 * Add __rcu annotation (unimplemented)
133 * Fix incorrect fsf address in header files
134 * wfstack: push returns prior stack emptiness state
135 * Make lf stack push return if the stack was empty
136 * Document caa_container_of
137 * urcu-bp: do not call munmap for NULL registry at exit
138 * urcu libraries can directly use the _LGPL_SOURCE wfqueue
139 * rculfstack: document "push"
140 * Add runall.sh to tarball
141 * Fix build order of liburcu-cds-common
142 * Fix missing check for SYS_membarrier in map header
143 * urcu-qsbr: avoid useless futex wakeups and burning CPU for long grace periods
144 * api: reimplement BUILD_BUG_ON in compiler.h
145 * test api cleanup: remove unused primitives
146 * put thread offline while waiting for the init flag
147 * urcu: move private definitions to .c file
148 * urcu-bp: move private definitions to .c file
149 * urcu-qsbr: move private definitions to .c file
150 * rcutorture: fix rcutorture-qsbr
151 * wfqueue: fix type-incorrect assignment
152 * Fix tests Makefile EXTRA_DIST to use api.h
153 * Fix choice of default flavour in urcu/map/urcu.h
154 * api: remove list/hlist
155 * api: remove arch-specific files
156 * api: make api_gcc.h a superset of the other headers
157 * tests api: remove atomics
158 * put thread offline while waiting for the init flag
159 * urcu: move private definitions to .c file
160 * urcu-bp: move private definitions to .c file
161 * urcu-qsbr: move private definitions to .c file
162 * rcutorture: fix rcutorture-qsbr
163 * wfqueue: fix type-incorrect assignment
164 * Use caa_ prefix for min() and max()
165
166 2011-07-21 Userspace RCU 0.6.4
167 * uatomic: Fix ARM build errors in uatomic.
168 * urcu tests: hold mutex across use of custom allocator.
169 * Portability fixes to support FreeBSD 8.2.
170
171 2011-06-27 Userspace RCU 0.6.3
172 * uatomic: Fix i386 compatibility build errors in uatomic.
173
174 2011-06-13 Userspace RCU 0.6.2
175 * Fix build on powerpc.
176
177 2011-06-13 Userspace RCU 0.6.1
178 * Add missing headers into release tarball:
179 urcu-call-rcu-impl.h and urcu-defer-impl.h
180
181 2011-06-10 Userspace RCU 0.6.0
182 * Added call_rcu() support, graciously contributed by Paul E. McKenney.
183 * Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS)
184 into a single .so: liburcu-cds.so to have a single header/shared
185 object holding all concurrency-aware data containers. It provides
186 support for RCU lists, queues and stacks at the moment.
187 * liburcu 0.6.0 now allows linking a single application with multiple
188 flavors of RCU. This required a library API change which is
189 incompatible with older 0.5.x liburcu. The .so version number
190 is therefore bumped from 0 to 1 (e.g. liburcu.so.1).
191 * Added "atfork" handling API, documented in README. Only useful for
192 processes using fork() without following exec().
193 * Renaming the following files, keeping the old files (producing a
194 compiler warning):
195 urcu/uatomic_arch.h -> urcu/uatomic.h
196 urcu/urcu-futex.h -> urcu/futex.h
197 urcu/urcu_ref.h -> urcu/ref.h
198
199 2011-03-04 Userspace RCU 0.5.4
200 * urcu-bp: Update fork() handling
201
202 Introduce
203
204 extern void rcu_bp_before_fork(void);
205 extern void rcu_bp_after_fork_parent(void);
206 extern void rcu_bp_after_fork_child(void);
207
208 to handle fork gracefully. These disable signals and hold
209 the registry mutex across forks. (this flavor of the liburcu
210 library ("bp" for "bulletproof") is mainly used by UST, the
211 user-space tracer).
212
213 2011-03-03 Userspace RCU 0.5.3
214 * Add support for older ARM single-CPU architecturess (pre-ARMv7)
215 (thanks to Jason Wessel from WindRiver).
216 * Fix ARMv7 cmm_rmb/cmm_wmb primitives (use a dmb barrier).
217 * Remove leftover list_t type from urcu/list.h (namespace cleanup).
218 * urcu_defer: handle malloc error value.
219 * Update README file to describe urcu interaction with fork() when not
220 * followed
221 by an exec() system call.
222
223 2010-11-18 Userspace RCU 0.5.2
224 * Fix renaming error introduced in 0.5.0.
225
226 2010-11-18 Userspace RCU 0.5.1
227 * Fix renaming error introduced in 0.5.0. (incomplete fix)
228
229 2010-11-18 Userspace RCU 0.5.0
230 * Version 0.5.0 changes the API presented by memory model,
231 architecture abstraction and data structure primitives in
232 headers. The prefixes are, respectively:
233 - cmm_ : Concurrent Memory Model
234 - caa_ : Concurrent Architecture Abstraction
235 - cds_ : Concurrent Data Structures
236
237 2010-03-04 Userspace RCU 0.4.2
238 * Add generic uatomic ops support.
239 * Bugfix in urcu-bp. (rare garbage collection bug occurring in
240 multithreaded environment). Only affects urcu-bp users (UST).
241
242 2010-02-12 Userspace RCU 0.4.1
243 * s390: compilation fix.
244
245 2010-01-30 Userspace RCU 0.4.0
246 * API change: SIGURCU -> SIGRCU
247 * API changes: standardize on rcu_ prefix.
248 * API change: urcu_init -> rcu_init.
249 * urcu/config.h options renamed to CONFIG_RCU_HAVE_FENCE,
250 CONFIG_RCU_HAVE_FUTEX, CONFIG_RCU_SMP, CONFIG_RCU_COMPAT_ARCH.
251 ((moving from URCU -> RCU).
252 * library names changes: liburcu becomes the "default" version, using
253 sys_membarrier() when available, and using liburcu-mb as a
254 fallback.
255 * The signal-based liburcu is renamed from liburcu to
256 liburcu-signal. People previously using the signal-based
257 "liburcu" will automatically be moved to the "default" liburcu
258 version.
259
260 2009-11-16 Userspace RCU 0.3.1
261 * Add support for sparcv9 32-bit build.
262 * Update build system to use --host instead of --target.
263
264 2009-11-03 Userspace RCU 0.3.0
265 * API change for the "deferred work" interface.
266
267 2009-10-14 Userspace RCU 0.2.3
268 * Move to autotools.
269 * Automated architecture detection, with i386 fallback.
270 * Detect if NR_futex is on the system, fallback on portable
271 alternatives.
272 * Add configure mode for UP-only systems.
273
274 2009-10-02 Userspace RCU 0.2.2
275 * Phases out rcu_publish_content() api.
276 * Adds type checking to urcu-pointer.h pointer exchange primitives.
277
278 2009-10-02 Userspace RCU 0.2.1
279 * small header dependency fix for rculist.h.
280 * new "liburcu-bp.so" : "Bulletproof RCU", made especially for
281 the UST userspace tracer. It's a library that sacrifices a bit
282 of read-side performance for automatically monitoring thread
283 creation/removal. See README for details.
284
285 2009-10-01 Userspace RCU 0.2
286 * Clarify usage of rcu_cmpxchg_pointer, rcu_xchg_pointer,
287 rcu_set_pointer.
288
289 2009-09-29 Userspace RCU 0.1
290 * Initial release.
This page took 0.043578 seconds and 5 git commands to generate.