Fix: test: side-effect in assertion
[urcu.git] / ChangeLog
index 6782b6158944831fbeb44017c597be403b66a8a5..817582c2c7fa31002ee49367c3cbee32bef30801 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,409 @@
+2013-09-06 Userspace RCU 0.8.0
+       * Fix: hash table growth (for small tables) should be limited
+       * Fix: doc/examples cross-build
+       * Introduce URCU_INLINE_SMALL_FUNCTIONS
+       * Add missing tests/common/Makefile.am
+       * README: document make check/regtest/bench
+       * tests: split in check, regtest and bench targets
+       * Cleanup: doc/examples makefile
+       * Fix: doc/examples VPATH build
+       * doc/examples: Move the LIBS after the OBJECTS in the Makefile
+       * Document build work-around on MacOS X
+       * Fix tests: use of uninitialized variables
+       * test_urcu_hash*: initialize TLS seeds
+       * doc/examples: cds_lfht_for_each_entry_duplicate
+       * doc/examples: cds_lfht_lookup
+       * doc/examples: cds_lfht_destroy
+       * doc/examples: cds_lfht_add_replace
+       * doc/examples: cds_lfht_add_unique
+       * doc/examples: cds_lfht_add/cds_lfht_del
+       * doc/examples: add rculfqueue example
+       * doc/examples: add synchronize_rcu()
+       * doc/examples: add bp flavor
+       * doc/examples: add dist toplevel makefile
+       * doc/examples: add membarrier flavor
+       * doc/examples: document call_rcu()
+       * doc/examples: update qsbr example
+       * urcu signal: remove assertion on exit
+       * doc/examples: signal flavor
+       * doc/examples: add mb flavor
+       * doc/examples: update qsbr
+       * doc/examples: introduce urcu-flavors examples directory
+       * doc/examples: enhance rcu-flavor-qsbr example
+       * doc/examples: rename qsbr-minimal to rcu-flavor-qsbr
+       * doc/examples: automake stop on error
+       * doc/examples: hlist
+       * hlist/rcuhlist update
+       * doc/examples: fix typo in list example
+       * rcuhlist: make pointer stores atomic
+       * hlist, rcuhlist: cleanup coding style
+       * doc/examples: lfstack
+       * doc/examples: update cds_wfs_pop_all_blocking
+       * doc/examples: cds_wfs_pop_all_blocking
+       * doc/examples: cds_wfs_pop
+       * doc/examples: add missing Makefile
+       * doc/examples: cds_wfs_push
+       * doc/wfcqueue: cds_wfcq_splice
+       * doc/examples: add cds_wfcq_dequeue
+       * doc/examples: wfcq needs to link against urcu-common
+       * doc/examples: update queue comment
+       * doc/examples: fix make clean
+       * gitignore: add qsbr-minimal
+       * doc/examples: cds_wfcq_enqueue
+       * doc/examples: Move LIBS to each makefile
+       * doc/examples: cds_list_for_each_rcu
+       * doc/examples: cds_list_for_each_entry_rcu
+       * doc/examples: cds_list_replace_rcu
+       * doc/examples: cds_list_add_tail_rcu
+       * doc/examples: cds_list_del_rcu
+       * doc/examples: cds_list_add_rcu
+       * rculist: ensure atomic updates of next pointers
+       * rculist: implement cds_list_add_tail_rcu
+       * rculist.h and list.h style cleanup
+       * example makefile: add missing cd ..
+       * Update gitignore
+       * Fix: examples Makefile on FreeBSD
+       * hash table test: don't redefine CACHE_LINE_SIZE
+       * tests: use thread-id.h wrapper
+       * Implement thread-id.h wrapper
+       * tests: add missing unsigned long casts to pthread_self()
+       * Fix: don't build examples in static builds
+       * Add QSBR minimal example
+       * compiler.h: implement CAA_ARRAY_SIZE()
+       * document rcu barrier
+       * rcu barrier: handle OOM die urcu_die
+       * Implement rcu_barrier()
+       * rculfhash: document destroy context limitations
+       * Add MIPS to README
+       * Update README
+       * Update README testing info about FreeBSD
+       * test: fix api.h missing if brackets
+       * tests: fix incorrect counter
+       * Fix: membarrier fallback symbol conflict
+       * Fix: Use a filled signal mask to disable all signals
+       * urcu-bp: introduce struct urcu_gp
+       * Fix: struct urcu_gp broke multiflavor
+       * Cleanup test usage printout
+       * wfstack tests: use pop "last" state info
+       * wfstack: return whether pop is popping the last element
+       * wfcqueue tests: use dequeue empty state
+       * wfcqueue: return whether dequeue is dequeuing last element
+       * urcu: avoid false sharing for rcu_gp_ctr
+       * urcu: make the code of urcu-qsbr as normal urcu
+       * rculfhash: detect if resize/destroy are called within RCU read-side C.S.
+       * Documentation: rculfhash: cds_lfht_resize not within read-side C.S.
+       * fix: rculfhash don't change qsbr online state
+       * Add rcu_read_ongoing() API to each urcu flavor
+       * Add "sparc" host cpu to configure.ac
+       * futex: include syscall.h instead of sys/syscall.h
+       * Add tab to output in order to allow easy nesting of tables.
+       * Remove urcu-api-list.sh from dist tarball
+       * Add urcu-api-list.sh script
+       * list: implement cds_list_for_each_safe()
+       * Fix: tests/api.h use cpuset.h
+       * Fix hurd-i386: move cpuset tests outside of sched_setaffinity conditional
+       * Fix tests: finer-grained use of CPU_SET, CPU_ZERO and cpu_set_t
+       * Test for CPU_SET
+       * Fix build on architectures with HAVE_SCHED_GETCPU but without HAVE_SYSCONF
+       * README: document that Clang 3.0 (based on LLVM 3.0) is supported
+       * clang: silence "unused expression result" warning
+       * rculfhash: add assertions on node alignment
+       * Spelling cleanups within comments and documentation
+       * Fix configure checks for Tile
+       * uatomic: style fix
+       * doc/cds-api.txt: expand documentation
+       * README: document each API file
+       * README: reorganize
+       * Add compilation support for the TileGX architecture
+       * wfstack: add nonblocking to _LGPL_SOURCE API
+       * Discourage use of pthread_atfork() for call_rcu handlers
+       * Fix call_rcu fork handling
+       * test: fork handling
+       * rculfhash: add cds_lfht_replace to the write operations in the comments
+       * urcu: fix comments for cds_list_for_each_prev()
+       * documentation: fix rcu-api.txt duplicates
+       * test wfcq: remove unneeded urcu.h include
+       * test wfs: remove unneeded urcu.h include
+       * urcu: declare test_urcu_multiflavor functions
+       * urcu: remove the wrong comma
+       * wfstack: implement nonblocking pop and next
+       * wfcqueue: document first/next return values
+       * wfstack: update comments about cds_wfs_empty/first being wait-free
+       * wfstack API: rename cds_wfs_first_blocking to cds_wfs_first
+       * wfstack test: test if number of push to empty vs pop_all match
+       * wfstack: document first/next return values
+       * test wfstack: enforce external mutex if needed by default
+       * test wfcqueue: enforce external mutex if needed by default
+       * urcu-mb/signal/membarrier: batch concurrent synchronize_rcu()
+       * urcu-wait: move queue management code into urcu-wait.h
+       * urcu-wait: move wait code into separate file
+       * urcu-qsbr: batch concurrent synchronize_rcu()
+       * tests: use standard malloc/free for synchronize_rcu()
+       * urcu-bp: move quiescent threads to separate list
+       * urcu-mb/signal/membarrier: move quiescent threads to separate list
+       * urcu-qsbr: move offline threads to separate list
+       * urcu-bp: improve 2-phase wait scheme
+       * urcu-mb/signal/membarrier: improve 2-phase wait scheme
+       * urcu-qsbr: improve 2-phase wait scheme
+       * wfcqueue: implement mutex-free splice
+       * wfcqueue: document empty criterion
+       * urcu-call-rcu: use wait-free splice return value
+       * test wfcqueue: add tests for queue state return value
+       * wfcqueue: enqueue and splice return queue state
+       * Fix: wfcqueue nonblocking dequeue
+       * wfcqueue: Fix lock and unlock functions
+       * runtests: Make path of time binary configurable
+       * urcu-qsbr: skip Q.S. reporting if already reported
+       * Fix TLS detection: test with linker, add --disable-compiler-tls
+       * Cleanup: cast pthread_self() return value to unsigned long
+       * Fallback mechanism not working on platform where TLS is unsupported
+       * Revert "Fix: cross-build: configure.ac should use --target, not --host"
+       * Fix: cross-build: configure.ac should use --target, not --host
+       * test_urcu_wfcq: add splice and nosync tests
+       * test_urcu_wfs: cleanup
+       * test_urcu_lfs: cleanup
+       * Fix static linking: add missing static for _defer_rcu
+       * tests: report error value for make check
+       * Add multiflavor test program
+       * Fix static linking: fix symbol name namespaces
+       * Fix static linking: add missing static to thr_defer
+       * Fix static linking: add missing static
+       * deprecation: fix build with gcc < 4.5
+       * wfstack.c: update copyright notice
+       * Update wfstack copyright notice
+       * Comment fix: update associated LGPL header name
+       * Update cds-api.txt following API deprecations
+       * Deprecate wfqueue
+       * Deprecate rculfstack
+       * wfcqueue: introduce nonblocking API
+       * lfstack: test pop_all and pop
+       * lfstack: implement empty, pop_all and iterators, document API
+       * lfstack: implement test
+       * lfstack: implement lock-free stack
+       * wfstack: implement pop_all and iteration tests
+       * wfstack: implement cds_wfs_pop_all and iterators, document API
+       * rculfhash test: fix trivial memleak and return node leak and errors
+       * rculfhash: add missing extern
+       * Cleanup: fix cppcheck errors
+       * wfcqueue: remove ancient comment
+       * test_urcu_lfq: remove rcu_defer_register_thread() from test_urcu_lfq
+       * test_urcu_lfq: test for the proper pointer
+       * test_urcu_lfs: remove rcu_defer_register_thread() from test_urcu_lfs
+       * test_urcu_lfs: test for the proper pointer
+       * wfcqueue: clarify locking usage
+       * Document APIs in README
+       * Test cleanup: replace "l" parameter by "loops"
+       * Add wfcqueue header to cds.h
+       * Fix: urcu-bp, urcu, urcu-qsbr should include wfcqueue
+       * Fix: call_rcu list corruption on teardown (documentation)
+       * call_rcu: remove head field alignement, explain wfcqueue motivation
+       * wfcqueue: update credits in patch documentation
+       * wfcqueue documentation: hint at for_each iterators
+       * Fix urcu-call-rcu-impl.h: false-sharing
+       * call_rcu: use wfcqueue, eliminate false-sharing
+       * wfcqueue test
+       * wfcqueue: implement concurrency-efficient queue
+       * Ensure that read-side functions meet 10-line LGPL criterion
+       * tls-compat.h: document sigaltstack(2) limitation
+       * urcu: add notice to URCU_TLS() for it is not strictly async-signal-safe
+       * Document sigaltstack(2) limitation
+       * Documentation: update LICENSE file
+
+2012-08-27 Userspace RCU 0.7.4
+       * rculfhash API documentation: document destroy RCU read-lock constraint
+       * Fix: rculfhash should be offline while waiting for resize to complete
+       * Add missing entry to gitignore
+       * urcu: move busy-wait code and name it ___cds_wfq_node_sync_next()
+       * urcu: fix compat_futex_noasync()
+       * urcu: add hint to DEFINE_URCU_TLS() for compound types
+       * Fix: CAA_BUILD_BUG_ON should refer to CAA_BUILD_BUG_ON_ZERO
+       * Add MIPS support
+       * Compatibility: remove bash-ismsm from test scripts
+       * Fix inappropriate lib behavior: don't call exit()
+       * Fix: re-enable compatibility with autoconf < 2.64
+       * Fix c99 compatibility: use __asm__ and __volatile__ in public headers
+       * Fix c99 compatibility: use __typeof__ instead of typeof in public headers
+       * warning fix: tests urcutorture for NetBSD 5
+
+2012-06-01 Userspace RCU 0.7.3
+       * Fix tests: make dist lib dependency
+       * Update README for OS supported, tests dependency
+       * Add CodingStyle to tarball
+       * Add coding style document
+       * Test fix: test_perthreadlock uninitialized mutex
+       * tests: support FreeBSD short "time" args
+       * freebsd 8.2 fix: define MAP_ANONYMOUS for compatibility
+
+2012-05-24 Userspace RCU 0.7.2
+       * Fix library compatibility
+
+2012-05-24 Userspace RCU 0.7.1
+       * fix: uatomic_set return value compile fix for non-x86 arch.
+
+2012-05-21 Userspace RCU 0.7.0
+       * Cleanup: header comments coding style
+       * Document uatomic operations
+       * Update return value of "set" operations
+       * Fix mremap wrapper for NetBSD 5
+       * Use urcu/tls-compat.h
+       * Implement urcu/tls-compat.h
+       * Add TLS detection m4 macro
+       * document concurrent data structures
+       * documentation: refer to rcu-api.txt
+       * Move API.txt to doc/rcu-api.txt, install in system doc/
+       * rculfhash: document implied memory barriers
+       * rculfhash: Ensure future-proof memory barrier semantic consistency
+       * API cleanup: use "uatomic_*" in cmm_smp_mb__ API
+       * uatomic: add memory barrier API for and/or/add/sub/inc/sub
+       * rculfhash: add runhash.sh test script
+       * rculfhash tests: add missing check
+       * rculfhash: fix: race between replace and del operations
+       * rculfhash: replace unneeded rcu_dereference by CMM_LOAD_SHARED
+       * rculfhash: use do {} while (0) for dbg_printf()
+       * rculfhash: cleanup typo
+       * rculfhash: update API comments
+       * rculfhash: update comments in implementation
+       * rculfhash tests: add long hash chains tests
+       * rculfhash tests: add uniqueness test
+       * rculfhash test: print test name
+       * rculfhash: stress requirement in documentation
+       * rculfhash: fix typo
+       * rculfhash tests: use array of callbacks to modularize
+       * rculfhash tests: modularize tests
+       * rculfhash: document ordering guarantees
+       * rculfhash: document linearizability guarantees
+       * rculfhash: update removal comment
+       * Add missing files to .gitignore
+       * Fix out-of-tree build
+       * rculfhash: check malloc NULL pointer
+       * Fix uatomic sign cast
+       * Remove unused jhash.h file
+       * Fix: use known license text, fix incorrect FSF address
+       * Fix: add missing sched.h include in rculfhash.c
+       * Allow tests to run on architectures without per-cpu call_rcu support
+       * Hash table test: FreeBSD compatibility fix
+       * tests: define _GNU_SOURCE instead of __USE_GNU
+       * RCU lock-free hash table: implement cds_lfht_is_node_deleted()
+       * Define _GNU_SOURCE to access CPU_ZERO() macro in uClibc
+       * Install ChangeLog and README into system's doc
+       * Fix AC_LANG_SOURCE usage: only takes one parameter
+       * Fix autoconf futex check
+       * configure.ac: Use AC_LANG_SOURCE for if else macros
+       * Refresh autoconf files
+       * Update gitignore
+       * rculfhash: add comment about hash seed randomness within test program
+       * readme: state correct GCC dependency for ARM
+       * rculfhash: remove an invocation of bit_reverse_ulong() when adding
+       * rculfhash: remove unneeded conversion
+       * rculfhash: remove unneeded clear_flag()
+       * cds_lfht_replace: add checks for old/new node hash/value match
+       * rculfhash: use node instead of iter argument for deletion
+       * rculfhash: number of logically removed nodes should not appear in API
+       * Document that flags could be represented on 2 bits
+       * Add missing REMOVAL_OWNER_FLAG comment to cds_lfht_node comment
+       * _cds_lfht_del is not used for buckets anymore, remove parameter
+       * rculfhash: Relax atomicity guarantees required by removal operation
+       * remove unneeded "return;"
+       * simplify the deletion for bucket node
+       * Remove unneeded code
+       * Cleanup DEFINE_RCU_FLAVOR()
+       * Add cds_lfht_ prefix to fls_ulong, get_count_order_ulong, get_count_order_u32
+       * Merge RCU Lock-Free Resizable Hash Table
+
+2011-12-12 Userspace RCU 0.6.7
+       * Add compat file for test urcu wfs
+       * Add missing compat file for wfq test
+       * hlist.h: Add missing stddef.h include for NULL
+       * call_rcu: Add missing call_rcu_before_fork and
+         call_rcu_after_fork_parent declarations
+       * Describe autotools/libtool/automake version dependency
+       * Remove m4_ifdef for AC_PROG_LIBTOOL (deprecated)
+       * Support older autotools
+       * Apply autoupdate to configure.ac
+       * Fix build for amd64 environment (for FreeBSD 8.2)
+       * Add missing rcu_dereference_sym_bp
+       * Install test scripts in the dist tarball
+
+2011-11-03 Userspace RCU 0.6.6
+       * qsbr vs call_rcu : remove exit assertion
+       * Rename likely/unlikely to caa_likely/caa_unlikely
+       * Reinsert missing test_urcu_*.c files (missing in rename)
+       * rename test_qsbr to test_urcu_qsbr
+       * urcu-pointer: fix rcu_set_pointer unset return value
+       * Enhance API.txt documentation, add to Makefile as EXTRA_DIST
+
+2011-09-29 Userspace RCU 0.6.5
+       * call_rcu: Document call_rcu requirements
+       * call_rcu: fix error handling of malloc error
+       * urcu call_rcu: Use RCU read-side protection for per-cpu call_rcu data
+       * urcu,call_rcu: Cleanup call_rcu_data pointers before use in child
+       * urcu,call_rcu: avoid create call_rcu_data for child when unneed
+       * urcu,defer_rcu: Make defer_rcu encoding more compact for marker
+       * urcu_defer: Use cancellation flag instead of pthread_cancel()
+       * urcu,call_rcu: protects call_rcu_data_list when remove node
+       * Create default call rcu data upon per-cpu call-rcu teardown
+       * powerpc: use __NO_LWSYNC__ check to use appropriate lwsync/sync opcode
+       * cmm: provide lightweight smp_rmb/smp_wmb on PPC
+       * atomic: provide seq_cst semantics on powerpc
+       * avoid leaking crdp for failed path
+       * Return -EEXIST when the old cpu call_rcu_data has not been removed
+       * protect writing to per_cpu_call_rcu_data[*]
+       * wake up default call_rcu thread after we move the leftover callbacks
+       * avoid memory leak in call_rcu_data_free()
+       * urcu call_rcu: fix use after free()
+       * use get_cpu_call_rcu_data() for get_call_rcu_data()
+       * init maxcpus before use
+       * call_rcu implementation: add missing static
+       * Document QSBR interaction with mutexes
+       * urcu-pointer: implement URCU_FORCE_CAST for C++ compatibility of urcu-pointer.h
+       * urcu-qsbr: use rcu_thread_offline/rcu_thread_online instead of inlining them
+       * Pair all_cpu call_rcu create with free
+       * QSBR: add missing wakeups in synchronize_rcu code
+       * cmm: do not generate code for smp_rmb/smp_wmb on x86_64
+       * cmm: let per-arch files provide cmm_smp_* barriers
+       * Optimize caa_get_cycles() for PowerPC64
+       * lfq/lfs tests: use call_rcu
+       * list: Add cds_list_first_entry
+       * rculfstack/queue: define _LGPL_SOURCE around static header include
+       * Add __rcu annotation (unimplemented)
+       * Fix incorrect fsf address in header files
+       * wfstack: push returns prior stack emptiness state
+       * Make lf stack push return if the stack was empty
+       * Document caa_container_of
+       * urcu-bp: do not call munmap for NULL registry at exit
+       * urcu libraries can directly use the _LGPL_SOURCE wfqueue
+       * rculfstack: document "push"
+       * Add runall.sh to tarball
+       * Fix build order of liburcu-cds-common
+       * Fix missing check for SYS_membarrier in map header
+       * urcu-qsbr: avoid useless futex wakeups and burning CPU for long grace periods
+       * api: reimplement BUILD_BUG_ON in compiler.h
+       * test api cleanup: remove unused primitives
+       * put thread offline while waiting for the init flag
+       * urcu: move private definitions to .c file
+       * urcu-bp: move private definitions to .c file
+       * urcu-qsbr: move private definitions to .c file
+       * rcutorture: fix rcutorture-qsbr
+       * wfqueue: fix type-incorrect assignment
+       * Fix tests Makefile EXTRA_DIST to use api.h
+       * Fix choice of default flavour in urcu/map/urcu.h
+       * api: remove list/hlist
+       * api: remove arch-specific files
+       * api: make api_gcc.h a superset of the other headers
+       * tests api: remove atomics
+       * put thread offline while waiting for the init flag
+       * urcu: move private definitions to .c file
+       * urcu-bp: move private definitions to .c file
+       * urcu-qsbr: move private definitions to .c file
+       * rcutorture: fix rcutorture-qsbr
+       * wfqueue: fix type-incorrect assignment
+       * Use caa_ prefix for min() and max()
+
+2011-07-21 Userspace RCU 0.6.4
+       * uatomic: Fix ARM build errors in uatomic.
+       * urcu tests: hold mutex across use of custom allocator.
+       * Portability fixes to support FreeBSD 8.2.
+
 2011-06-27 Userspace RCU 0.6.3
        * uatomic: Fix i386 compatibility build errors in uatomic.
 
This page took 0.026013 seconds and 4 git commands to generate.