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