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