1 2013-11-12 Userspace RCU 0.8.1
2 * tls-compat: fix comment typo
3 * Keep ABI compatible with already compiled LGPL applications
4 * Fix: tls-compat multi-lib conflict
5 * Use cross compiler for doc examples
6 * gcc warning fixes: -Wsign-compare and -Wextra
7 * Fix: urcu-qsbr: reversed logic on RCU_DEBUG
8 * Fix: urcu-bp segfault in glibc pthread_kill()
9 * Fix urcu-bp: don't move registry
10 * Fix: compat futex duplicated lock and completion
11 * Fix: i386 compat code duplicated mutex instances
12 * Fix: urcu-bp: Bulletproof RCU arena resize bug
13 * Fix: test_mutex.c uninitialized mutex
15 2013-09-06 Userspace RCU 0.8.0
16 * Fix: hash table growth (for small tables) should be limited
17 * Fix: doc/examples cross-build
18 * Introduce URCU_INLINE_SMALL_FUNCTIONS
19 * Add missing tests/common/Makefile.am
20 * README: document make check/regtest/bench
21 * tests: split in check, regtest and bench targets
22 * Cleanup: doc/examples makefile
23 * Fix: doc/examples VPATH build
24 * doc/examples: Move the LIBS after the OBJECTS in the Makefile
25 * Document build work-around on MacOS X
26 * Fix tests: use of uninitialized variables
27 * test_urcu_hash*: initialize TLS seeds
28 * doc/examples: cds_lfht_for_each_entry_duplicate
29 * doc/examples: cds_lfht_lookup
30 * doc/examples: cds_lfht_destroy
31 * doc/examples: cds_lfht_add_replace
32 * doc/examples: cds_lfht_add_unique
33 * doc/examples: cds_lfht_add/cds_lfht_del
34 * doc/examples: add rculfqueue example
35 * doc/examples: add synchronize_rcu()
36 * doc/examples: add bp flavor
37 * doc/examples: add dist toplevel makefile
38 * doc/examples: add membarrier flavor
39 * doc/examples: document call_rcu()
40 * doc/examples: update qsbr example
41 * urcu signal: remove assertion on exit
42 * doc/examples: signal flavor
43 * doc/examples: add mb flavor
44 * doc/examples: update qsbr
45 * doc/examples: introduce urcu-flavors examples directory
46 * doc/examples: enhance rcu-flavor-qsbr example
47 * doc/examples: rename qsbr-minimal to rcu-flavor-qsbr
48 * doc/examples: automake stop on error
50 * hlist/rcuhlist update
51 * doc/examples: fix typo in list example
52 * rcuhlist: make pointer stores atomic
53 * hlist, rcuhlist: cleanup coding style
54 * doc/examples: lfstack
55 * doc/examples: update cds_wfs_pop_all_blocking
56 * doc/examples: cds_wfs_pop_all_blocking
57 * doc/examples: cds_wfs_pop
58 * doc/examples: add missing Makefile
59 * doc/examples: cds_wfs_push
60 * doc/wfcqueue: cds_wfcq_splice
61 * doc/examples: add cds_wfcq_dequeue
62 * doc/examples: wfcq needs to link against urcu-common
63 * doc/examples: update queue comment
64 * doc/examples: fix make clean
65 * gitignore: add qsbr-minimal
66 * doc/examples: cds_wfcq_enqueue
67 * doc/examples: Move LIBS to each makefile
68 * doc/examples: cds_list_for_each_rcu
69 * doc/examples: cds_list_for_each_entry_rcu
70 * doc/examples: cds_list_replace_rcu
71 * doc/examples: cds_list_add_tail_rcu
72 * doc/examples: cds_list_del_rcu
73 * doc/examples: cds_list_add_rcu
74 * rculist: ensure atomic updates of next pointers
75 * rculist: implement cds_list_add_tail_rcu
76 * rculist.h and list.h style cleanup
77 * example makefile: add missing cd ..
79 * Fix: examples Makefile on FreeBSD
80 * hash table test: don't redefine CACHE_LINE_SIZE
81 * tests: use thread-id.h wrapper
82 * Implement thread-id.h wrapper
83 * tests: add missing unsigned long casts to pthread_self()
84 * Fix: don't build examples in static builds
85 * Add QSBR minimal example
86 * compiler.h: implement CAA_ARRAY_SIZE()
87 * document rcu barrier
88 * rcu barrier: handle OOM die urcu_die
89 * Implement rcu_barrier()
90 * rculfhash: document destroy context limitations
93 * Update README testing info about FreeBSD
94 * test: fix api.h missing if brackets
95 * tests: fix incorrect counter
96 * Fix: membarrier fallback symbol conflict
97 * Fix: Use a filled signal mask to disable all signals
98 * urcu-bp: introduce struct urcu_gp
99 * Fix: struct urcu_gp broke multiflavor
100 * Cleanup test usage printout
101 * wfstack tests: use pop "last" state info
102 * wfstack: return whether pop is popping the last element
103 * wfcqueue tests: use dequeue empty state
104 * wfcqueue: return whether dequeue is dequeuing last element
105 * urcu: avoid false sharing for rcu_gp_ctr
106 * urcu: make the code of urcu-qsbr as normal urcu
107 * rculfhash: detect if resize/destroy are called within RCU read-side C.S.
108 * Documentation: rculfhash: cds_lfht_resize not within read-side C.S.
109 * fix: rculfhash don't change qsbr online state
110 * Add rcu_read_ongoing() API to each urcu flavor
111 * Add "sparc" host cpu to configure.ac
112 * futex: include syscall.h instead of sys/syscall.h
113 * Add tab to output in order to allow easy nesting of tables.
114 * Remove urcu-api-list.sh from dist tarball
115 * Add urcu-api-list.sh script
116 * list: implement cds_list_for_each_safe()
117 * Fix: tests/api.h use cpuset.h
118 * Fix hurd-i386: move cpuset tests outside of sched_setaffinity conditional
119 * Fix tests: finer-grained use of CPU_SET, CPU_ZERO and cpu_set_t
121 * Fix build on architectures with HAVE_SCHED_GETCPU but without HAVE_SYSCONF
122 * README: document that Clang 3.0 (based on LLVM 3.0) is supported
123 * clang: silence "unused expression result" warning
124 * rculfhash: add assertions on node alignment
125 * Spelling cleanups within comments and documentation
126 * Fix configure checks for Tile
128 * doc/cds-api.txt: expand documentation
129 * README: document each API file
131 * Add compilation support for the TileGX architecture
132 * wfstack: add nonblocking to _LGPL_SOURCE API
133 * Discourage use of pthread_atfork() for call_rcu handlers
134 * Fix call_rcu fork handling
135 * test: fork handling
136 * rculfhash: add cds_lfht_replace to the write operations in the comments
137 * urcu: fix comments for cds_list_for_each_prev()
138 * documentation: fix rcu-api.txt duplicates
139 * test wfcq: remove unneeded urcu.h include
140 * test wfs: remove unneeded urcu.h include
141 * urcu: declare test_urcu_multiflavor functions
142 * urcu: remove the wrong comma
143 * wfstack: implement nonblocking pop and next
144 * wfcqueue: document first/next return values
145 * wfstack: update comments about cds_wfs_empty/first being wait-free
146 * wfstack API: rename cds_wfs_first_blocking to cds_wfs_first
147 * wfstack test: test if number of push to empty vs pop_all match
148 * wfstack: document first/next return values
149 * test wfstack: enforce external mutex if needed by default
150 * test wfcqueue: enforce external mutex if needed by default
151 * urcu-mb/signal/membarrier: batch concurrent synchronize_rcu()
152 * urcu-wait: move queue management code into urcu-wait.h
153 * urcu-wait: move wait code into separate file
154 * urcu-qsbr: batch concurrent synchronize_rcu()
155 * tests: use standard malloc/free for synchronize_rcu()
156 * urcu-bp: move quiescent threads to separate list
157 * urcu-mb/signal/membarrier: move quiescent threads to separate list
158 * urcu-qsbr: move offline threads to separate list
159 * urcu-bp: improve 2-phase wait scheme
160 * urcu-mb/signal/membarrier: improve 2-phase wait scheme
161 * urcu-qsbr: improve 2-phase wait scheme
162 * wfcqueue: implement mutex-free splice
163 * wfcqueue: document empty criterion
164 * urcu-call-rcu: use wait-free splice return value
165 * test wfcqueue: add tests for queue state return value
166 * wfcqueue: enqueue and splice return queue state
167 * Fix: wfcqueue nonblocking dequeue
168 * wfcqueue: Fix lock and unlock functions
169 * runtests: Make path of time binary configurable
170 * urcu-qsbr: skip Q.S. reporting if already reported
171 * Fix TLS detection: test with linker, add --disable-compiler-tls
172 * Cleanup: cast pthread_self() return value to unsigned long
173 * Fallback mechanism not working on platform where TLS is unsupported
174 * Revert "Fix: cross-build: configure.ac should use --target, not --host"
175 * Fix: cross-build: configure.ac should use --target, not --host
176 * test_urcu_wfcq: add splice and nosync tests
177 * test_urcu_wfs: cleanup
178 * test_urcu_lfs: cleanup
179 * Fix static linking: add missing static for _defer_rcu
180 * tests: report error value for make check
181 * Add multiflavor test program
182 * Fix static linking: fix symbol name namespaces
183 * Fix static linking: add missing static to thr_defer
184 * Fix static linking: add missing static
185 * deprecation: fix build with gcc < 4.5
186 * wfstack.c: update copyright notice
187 * Update wfstack copyright notice
188 * Comment fix: update associated LGPL header name
189 * Update cds-api.txt following API deprecations
191 * Deprecate rculfstack
192 * wfcqueue: introduce nonblocking API
193 * lfstack: test pop_all and pop
194 * lfstack: implement empty, pop_all and iterators, document API
195 * lfstack: implement test
196 * lfstack: implement lock-free stack
197 * wfstack: implement pop_all and iteration tests
198 * wfstack: implement cds_wfs_pop_all and iterators, document API
199 * rculfhash test: fix trivial memleak and return node leak and errors
200 * rculfhash: add missing extern
201 * Cleanup: fix cppcheck errors
202 * wfcqueue: remove ancient comment
203 * test_urcu_lfq: remove rcu_defer_register_thread() from test_urcu_lfq
204 * test_urcu_lfq: test for the proper pointer
205 * test_urcu_lfs: remove rcu_defer_register_thread() from test_urcu_lfs
206 * test_urcu_lfs: test for the proper pointer
207 * wfcqueue: clarify locking usage
208 * Document APIs in README
209 * Test cleanup: replace "l" parameter by "loops"
210 * Add wfcqueue header to cds.h
211 * Fix: urcu-bp, urcu, urcu-qsbr should include wfcqueue
212 * Fix: call_rcu list corruption on teardown (documentation)
213 * call_rcu: remove head field alignement, explain wfcqueue motivation
214 * wfcqueue: update credits in patch documentation
215 * wfcqueue documentation: hint at for_each iterators
216 * Fix urcu-call-rcu-impl.h: false-sharing
217 * call_rcu: use wfcqueue, eliminate false-sharing
219 * wfcqueue: implement concurrency-efficient queue
220 * Ensure that read-side functions meet 10-line LGPL criterion
221 * tls-compat.h: document sigaltstack(2) limitation
222 * urcu: add notice to URCU_TLS() for it is not strictly async-signal-safe
223 * Document sigaltstack(2) limitation
224 * Documentation: update LICENSE file
226 2012-08-27 Userspace RCU 0.7.4
227 * rculfhash API documentation: document destroy RCU read-lock constraint
228 * Fix: rculfhash should be offline while waiting for resize to complete
229 * Add missing entry to gitignore
230 * urcu: move busy-wait code and name it ___cds_wfq_node_sync_next()
231 * urcu: fix compat_futex_noasync()
232 * urcu: add hint to DEFINE_URCU_TLS() for compound types
233 * Fix: CAA_BUILD_BUG_ON should refer to CAA_BUILD_BUG_ON_ZERO
235 * Compatibility: remove bash-ismsm from test scripts
236 * Fix inappropriate lib behavior: don't call exit()
237 * Fix: re-enable compatibility with autoconf < 2.64
238 * Fix c99 compatibility: use __asm__ and __volatile__ in public headers
239 * Fix c99 compatibility: use __typeof__ instead of typeof in public headers
240 * warning fix: tests urcutorture for NetBSD 5
242 2012-06-01 Userspace RCU 0.7.3
243 * Fix tests: make dist lib dependency
244 * Update README for OS supported, tests dependency
245 * Add CodingStyle to tarball
246 * Add coding style document
247 * Test fix: test_perthreadlock uninitialized mutex
248 * tests: support FreeBSD short "time" args
249 * freebsd 8.2 fix: define MAP_ANONYMOUS for compatibility
251 2012-05-24 Userspace RCU 0.7.2
252 * Fix library compatibility
254 2012-05-24 Userspace RCU 0.7.1
255 * fix: uatomic_set return value compile fix for non-x86 arch.
257 2012-05-21 Userspace RCU 0.7.0
258 * Cleanup: header comments coding style
259 * Document uatomic operations
260 * Update return value of "set" operations
261 * Fix mremap wrapper for NetBSD 5
262 * Use urcu/tls-compat.h
263 * Implement urcu/tls-compat.h
264 * Add TLS detection m4 macro
265 * document concurrent data structures
266 * documentation: refer to rcu-api.txt
267 * Move API.txt to doc/rcu-api.txt, install in system doc/
268 * rculfhash: document implied memory barriers
269 * rculfhash: Ensure future-proof memory barrier semantic consistency
270 * API cleanup: use "uatomic_*" in cmm_smp_mb__ API
271 * uatomic: add memory barrier API for and/or/add/sub/inc/sub
272 * rculfhash: add runhash.sh test script
273 * rculfhash tests: add missing check
274 * rculfhash: fix: race between replace and del operations
275 * rculfhash: replace unneeded rcu_dereference by CMM_LOAD_SHARED
276 * rculfhash: use do {} while (0) for dbg_printf()
277 * rculfhash: cleanup typo
278 * rculfhash: update API comments
279 * rculfhash: update comments in implementation
280 * rculfhash tests: add long hash chains tests
281 * rculfhash tests: add uniqueness test
282 * rculfhash test: print test name
283 * rculfhash: stress requirement in documentation
284 * rculfhash: fix typo
285 * rculfhash tests: use array of callbacks to modularize
286 * rculfhash tests: modularize tests
287 * rculfhash: document ordering guarantees
288 * rculfhash: document linearizability guarantees
289 * rculfhash: update removal comment
290 * Add missing files to .gitignore
291 * Fix out-of-tree build
292 * rculfhash: check malloc NULL pointer
293 * Fix uatomic sign cast
294 * Remove unused jhash.h file
295 * Fix: use known license text, fix incorrect FSF address
296 * Fix: add missing sched.h include in rculfhash.c
297 * Allow tests to run on architectures without per-cpu call_rcu support
298 * Hash table test: FreeBSD compatibility fix
299 * tests: define _GNU_SOURCE instead of __USE_GNU
300 * RCU lock-free hash table: implement cds_lfht_is_node_deleted()
301 * Define _GNU_SOURCE to access CPU_ZERO() macro in uClibc
302 * Install ChangeLog and README into system's doc
303 * Fix AC_LANG_SOURCE usage: only takes one parameter
304 * Fix autoconf futex check
305 * configure.ac: Use AC_LANG_SOURCE for if else macros
306 * Refresh autoconf files
308 * rculfhash: add comment about hash seed randomness within test program
309 * readme: state correct GCC dependency for ARM
310 * rculfhash: remove an invocation of bit_reverse_ulong() when adding
311 * rculfhash: remove unneeded conversion
312 * rculfhash: remove unneeded clear_flag()
313 * cds_lfht_replace: add checks for old/new node hash/value match
314 * rculfhash: use node instead of iter argument for deletion
315 * rculfhash: number of logically removed nodes should not appear in API
316 * Document that flags could be represented on 2 bits
317 * Add missing REMOVAL_OWNER_FLAG comment to cds_lfht_node comment
318 * _cds_lfht_del is not used for buckets anymore, remove parameter
319 * rculfhash: Relax atomicity guarantees required by removal operation
320 * remove unneeded "return;"
321 * simplify the deletion for bucket node
322 * Remove unneeded code
323 * Cleanup DEFINE_RCU_FLAVOR()
324 * Add cds_lfht_ prefix to fls_ulong, get_count_order_ulong, get_count_order_u32
325 * Merge RCU Lock-Free Resizable Hash Table
327 2011-12-12 Userspace RCU 0.6.7
328 * Add compat file for test urcu wfs
329 * Add missing compat file for wfq test
330 * hlist.h: Add missing stddef.h include for NULL
331 * call_rcu: Add missing call_rcu_before_fork and
332 call_rcu_after_fork_parent declarations
333 * Describe autotools/libtool/automake version dependency
334 * Remove m4_ifdef for AC_PROG_LIBTOOL (deprecated)
335 * Support older autotools
336 * Apply autoupdate to configure.ac
337 * Fix build for amd64 environment (for FreeBSD 8.2)
338 * Add missing rcu_dereference_sym_bp
339 * Install test scripts in the dist tarball
341 2011-11-03 Userspace RCU 0.6.6
342 * qsbr vs call_rcu : remove exit assertion
343 * Rename likely/unlikely to caa_likely/caa_unlikely
344 * Reinsert missing test_urcu_*.c files (missing in rename)
345 * rename test_qsbr to test_urcu_qsbr
346 * urcu-pointer: fix rcu_set_pointer unset return value
347 * Enhance API.txt documentation, add to Makefile as EXTRA_DIST
349 2011-09-29 Userspace RCU 0.6.5
350 * call_rcu: Document call_rcu requirements
351 * call_rcu: fix error handling of malloc error
352 * urcu call_rcu: Use RCU read-side protection for per-cpu call_rcu data
353 * urcu,call_rcu: Cleanup call_rcu_data pointers before use in child
354 * urcu,call_rcu: avoid create call_rcu_data for child when unneed
355 * urcu,defer_rcu: Make defer_rcu encoding more compact for marker
356 * urcu_defer: Use cancellation flag instead of pthread_cancel()
357 * urcu,call_rcu: protects call_rcu_data_list when remove node
358 * Create default call rcu data upon per-cpu call-rcu teardown
359 * powerpc: use __NO_LWSYNC__ check to use appropriate lwsync/sync opcode
360 * cmm: provide lightweight smp_rmb/smp_wmb on PPC
361 * atomic: provide seq_cst semantics on powerpc
362 * avoid leaking crdp for failed path
363 * Return -EEXIST when the old cpu call_rcu_data has not been removed
364 * protect writing to per_cpu_call_rcu_data[*]
365 * wake up default call_rcu thread after we move the leftover callbacks
366 * avoid memory leak in call_rcu_data_free()
367 * urcu call_rcu: fix use after free()
368 * use get_cpu_call_rcu_data() for get_call_rcu_data()
369 * init maxcpus before use
370 * call_rcu implementation: add missing static
371 * Document QSBR interaction with mutexes
372 * urcu-pointer: implement URCU_FORCE_CAST for C++ compatibility of urcu-pointer.h
373 * urcu-qsbr: use rcu_thread_offline/rcu_thread_online instead of inlining them
374 * Pair all_cpu call_rcu create with free
375 * QSBR: add missing wakeups in synchronize_rcu code
376 * cmm: do not generate code for smp_rmb/smp_wmb on x86_64
377 * cmm: let per-arch files provide cmm_smp_* barriers
378 * Optimize caa_get_cycles() for PowerPC64
379 * lfq/lfs tests: use call_rcu
380 * list: Add cds_list_first_entry
381 * rculfstack/queue: define _LGPL_SOURCE around static header include
382 * Add __rcu annotation (unimplemented)
383 * Fix incorrect fsf address in header files
384 * wfstack: push returns prior stack emptiness state
385 * Make lf stack push return if the stack was empty
386 * Document caa_container_of
387 * urcu-bp: do not call munmap for NULL registry at exit
388 * urcu libraries can directly use the _LGPL_SOURCE wfqueue
389 * rculfstack: document "push"
390 * Add runall.sh to tarball
391 * Fix build order of liburcu-cds-common
392 * Fix missing check for SYS_membarrier in map header
393 * urcu-qsbr: avoid useless futex wakeups and burning CPU for long grace periods
394 * api: reimplement BUILD_BUG_ON in compiler.h
395 * test api cleanup: remove unused primitives
396 * put thread offline while waiting for the init flag
397 * urcu: move private definitions to .c file
398 * urcu-bp: move private definitions to .c file
399 * urcu-qsbr: move private definitions to .c file
400 * rcutorture: fix rcutorture-qsbr
401 * wfqueue: fix type-incorrect assignment
402 * Fix tests Makefile EXTRA_DIST to use api.h
403 * Fix choice of default flavour in urcu/map/urcu.h
404 * api: remove list/hlist
405 * api: remove arch-specific files
406 * api: make api_gcc.h a superset of the other headers
407 * tests api: remove atomics
408 * put thread offline while waiting for the init flag
409 * urcu: move private definitions to .c file
410 * urcu-bp: move private definitions to .c file
411 * urcu-qsbr: move private definitions to .c file
412 * rcutorture: fix rcutorture-qsbr
413 * wfqueue: fix type-incorrect assignment
414 * Use caa_ prefix for min() and max()
416 2011-07-21 Userspace RCU 0.6.4
417 * uatomic: Fix ARM build errors in uatomic.
418 * urcu tests: hold mutex across use of custom allocator.
419 * Portability fixes to support FreeBSD 8.2.
421 2011-06-27 Userspace RCU 0.6.3
422 * uatomic: Fix i386 compatibility build errors in uatomic.
424 2011-06-13 Userspace RCU 0.6.2
425 * Fix build on powerpc.
427 2011-06-13 Userspace RCU 0.6.1
428 * Add missing headers into release tarball:
429 urcu-call-rcu-impl.h and urcu-defer-impl.h
431 2011-06-10 Userspace RCU 0.6.0
432 * Added call_rcu() support, graciously contributed by Paul E. McKenney.
433 * Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS)
434 into a single .so: liburcu-cds.so to have a single header/shared
435 object holding all concurrency-aware data containers. It provides
436 support for RCU lists, queues and stacks at the moment.
437 * liburcu 0.6.0 now allows linking a single application with multiple
438 flavors of RCU. This required a library API change which is
439 incompatible with older 0.5.x liburcu. The .so version number
440 is therefore bumped from 0 to 1 (e.g. liburcu.so.1).
441 * Added "atfork" handling API, documented in README. Only useful for
442 processes using fork() without following exec().
443 * Renaming the following files, keeping the old files (producing a
445 urcu/uatomic_arch.h -> urcu/uatomic.h
446 urcu/urcu-futex.h -> urcu/futex.h
447 urcu/urcu_ref.h -> urcu/ref.h
449 2011-03-04 Userspace RCU 0.5.4
450 * urcu-bp: Update fork() handling
454 extern void rcu_bp_before_fork(void);
455 extern void rcu_bp_after_fork_parent(void);
456 extern void rcu_bp_after_fork_child(void);
458 to handle fork gracefully. These disable signals and hold
459 the registry mutex across forks. (this flavor of the liburcu
460 library ("bp" for "bulletproof") is mainly used by UST, the
463 2011-03-03 Userspace RCU 0.5.3
464 * Add support for older ARM single-CPU architecturess (pre-ARMv7)
465 (thanks to Jason Wessel from WindRiver).
466 * Fix ARMv7 cmm_rmb/cmm_wmb primitives (use a dmb barrier).
467 * Remove leftover list_t type from urcu/list.h (namespace cleanup).
468 * urcu_defer: handle malloc error value.
469 * Update README file to describe urcu interaction with fork() when not
471 by an exec() system call.
473 2010-11-18 Userspace RCU 0.5.2
474 * Fix renaming error introduced in 0.5.0.
476 2010-11-18 Userspace RCU 0.5.1
477 * Fix renaming error introduced in 0.5.0. (incomplete fix)
479 2010-11-18 Userspace RCU 0.5.0
480 * Version 0.5.0 changes the API presented by memory model,
481 architecture abstraction and data structure primitives in
482 headers. The prefixes are, respectively:
483 - cmm_ : Concurrent Memory Model
484 - caa_ : Concurrent Architecture Abstraction
485 - cds_ : Concurrent Data Structures
487 2010-03-04 Userspace RCU 0.4.2
488 * Add generic uatomic ops support.
489 * Bugfix in urcu-bp. (rare garbage collection bug occurring in
490 multithreaded environment). Only affects urcu-bp users (UST).
492 2010-02-12 Userspace RCU 0.4.1
493 * s390: compilation fix.
495 2010-01-30 Userspace RCU 0.4.0
496 * API change: SIGURCU -> SIGRCU
497 * API changes: standardize on rcu_ prefix.
498 * API change: urcu_init -> rcu_init.
499 * urcu/config.h options renamed to CONFIG_RCU_HAVE_FENCE,
500 CONFIG_RCU_HAVE_FUTEX, CONFIG_RCU_SMP, CONFIG_RCU_COMPAT_ARCH.
501 ((moving from URCU -> RCU).
502 * library names changes: liburcu becomes the "default" version, using
503 sys_membarrier() when available, and using liburcu-mb as a
505 * The signal-based liburcu is renamed from liburcu to
506 liburcu-signal. People previously using the signal-based
507 "liburcu" will automatically be moved to the "default" liburcu
510 2009-11-16 Userspace RCU 0.3.1
511 * Add support for sparcv9 32-bit build.
512 * Update build system to use --host instead of --target.
514 2009-11-03 Userspace RCU 0.3.0
515 * API change for the "deferred work" interface.
517 2009-10-14 Userspace RCU 0.2.3
519 * Automated architecture detection, with i386 fallback.
520 * Detect if NR_futex is on the system, fallback on portable
522 * Add configure mode for UP-only systems.
524 2009-10-02 Userspace RCU 0.2.2
525 * Phases out rcu_publish_content() api.
526 * Adds type checking to urcu-pointer.h pointer exchange primitives.
528 2009-10-02 Userspace RCU 0.2.1
529 * small header dependency fix for rculist.h.
530 * new "liburcu-bp.so" : "Bulletproof RCU", made especially for
531 the UST userspace tracer. It's a library that sacrifices a bit
532 of read-side performance for automatically monitoring thread
533 creation/removal. See README for details.
535 2009-10-01 Userspace RCU 0.2
536 * Clarify usage of rcu_cmpxchg_pointer, rcu_xchg_pointer,
539 2009-09-29 Userspace RCU 0.1