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