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