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