Commit | Line | Data |
---|---|---|
d001c886 MJ |
1 | # SPDX-FileCopyrightText: 2011-2023 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> |
2 | # | |
3 | # SPDX-License-Identifier: CC-BY-4.0 | |
4 | ||
d1252aeb MD |
5 | 2023-02-14 Userspace RCU 0.14.0 |
6 | * Fix: urcu-bp: only teardown call-rcu worker in destructor | |
7 | * Fix: rculfhash: urcu_die() takes positive error value | |
8 | * Fix: call_rcu: teardown default call_rcu worker on application exit | |
9 | * Fix: join worker thread in call_rcu_data_free | |
10 | * Docs: clarify grace period polling API | |
11 | * Document grace period polling in rcu-api.md | |
12 | * Implement poll rcu stress test in rcutorture | |
13 | * urcu-memb,mb,signal: Implement grace period polling | |
14 | * Fix: auto-resize hash table destroy deadlock | |
15 | * Fix building on MSYS2 | |
16 | * rculfhash: Include rculfhash-internal.h from local directory | |
17 | * Remove "Darwin" from "should also work on list" | |
18 | * Merge branch 'adah1972-improve-md' | |
19 | * Add semicolons at the end of function prototypes | |
20 | * Wrap a file name in backticks | |
21 | * Wrap command-line options in backticks | |
22 | * Fix a wrong format | |
23 | * Wrap URLs in angle brackets | |
24 | * Fix Markdown issues | |
25 | * Fix: Always check pthread_create for failures | |
26 | * Disable signals in URCU background threads | |
27 | * Fix: futex.h: include headers outside extern C | |
28 | * Fix: add missing unused attribute to _rcu_dereference | |
29 | * Fix: change method used by _rcu_dereference to strip type constness | |
30 | * Fix: remove type constness in URCU_FORCE_CAST's C++ version | |
31 | * Move extern "C" down in include/urcu/urcu-bp.h | |
32 | * fix: ifdef linux specific cpu count compat | |
33 | * Add unit tests for possible_cpus_array_len | |
34 | * fix: sysconf(_SC_NPROCESSORS_CONF) can be less than max cpu id | |
35 | * Fix: revise obsolete command in README.md | |
36 | * Fix: workqueue: remove unused variable "ret" | |
37 | * Fix: urcu-qsbr: futex wait: handle spurious futex wakeups | |
38 | * Fix: urcu: futex wait: handle spurious futex wakeups | |
39 | * Fix: urcu-wait: futex wait: handle spurious futex wakeups | |
40 | * Fix: defer_rcu: futex wait: handle spurious futex wakeups | |
41 | * Fix: call_rcu: futex wait: handle spurious futex wakeups | |
42 | * Fix: workqueue: futex wait: handle spurious futex wakeups | |
43 | * Fix: Use %lu rather than %ld to print count | |
44 | * Update ABI definition files | |
45 | * Bump version current and age | |
46 | * alpha: allocate membarrier system call number | |
47 | * Bump version to 0.14.0-pre | |
48 | * Improved test framework | |
49 | * rculfhash: introduce cds_lfht_node_init_deleted | |
50 | * Fix: changelog: v0.13.0 was released in 2021 | |
51 | * cleanup: i386 arch detection | |
52 | * fix: properly detect 'cmpxchg' on x86-32 | |
53 | * fix: use urcu-tls compat with c++ compiler | |
54 | * Fix typo | |
55 | * fix: remove autoconf features default value in help message | |
56 | * fix: add missing pkgconfig file for memb flavour lib | |
57 | * Cleanup: Tests: Remove useless pre-C99 compatibility code from tap.h | |
58 | * Document C99 and C++11 requirement in README.md | |
59 | * Always use '__thread' for Thread local storage except on MSVC | |
60 | * Fix: powerpc32: transparent unions alter calling convention | |
61 | * fix: don't use C++ thread_local on MacOs | |
62 | * wfcqueue API: implement overloaded wrappers with templates | |
63 | * wfcqueue: combine C++ API cds_wfcq_head_cast with overloading | |
64 | * wfstack C++ API: implement overloaded wrappers with templates | |
65 | * lfstack C++ API: implement overloaded wrappers with templates | |
66 | * wfstack: combine C++ API cds_wfs_stack_cast with overloading | |
67 | * lfstack: combine C++ API cds_lfs_stack_cast with overloading | |
68 | * fix: test_build tap plan | |
69 | * Test C++ build of list head init | |
70 | * Fix order of initializers in CDS_LIST_HEAD_INIT | |
71 | * unit tests: test wfcqueue, wfstack, lfstack empty check functions in C++ | |
72 | * wfcqueue: implement C++ API based on function overloading | |
73 | * wfstack: implement C++ API based on function overloading | |
74 | * lfstack: implement C++ API based on function overloading | |
75 | * Fix tap.h: remove extra semicolon in pass/fail macros | |
76 | * Add C++ build tests | |
77 | * Build and run regression and unit tests as C++ programs | |
78 | * Add --enable-Werror configure switch | |
79 | * Add `urcu_posix_assert()` as `assert()` replacement | |
80 | * Rename `urcu_assert()` to `urcu_assert_debug()` | |
81 | * cleanup: spelling fixes in comments | |
82 | * Make temporary variable in _rcu_dereference non-const | |
83 | * (tls-ie2) Fix: x86 and s390: uatomic __hp() macro C++ support | |
84 | * Fix: x86 and s390: uatomic __hp() macro clang support | |
85 | * Fix: x86 and s390 uatomic: __hp() macro warning with gcc 11 | |
86 | ||
6568fdbf | 87 | 2021-06-03 Userspace RCU 0.13.0 |
6558e7a3 MD |
88 | * Document known ABI issue in README.md |
89 | * Add serialized ABI definition files | |
90 | * bump SONAME major to 8 | |
91 | * Remove all SONAME(6) ABI aliases | |
92 | * .gitignore: list ignored Makefiles | |
93 | * tests: Add a simple compile test for caa_get_cycles | |
94 | * fix: clock_gettime on macOs | |
95 | * Fix: rculist header: use parenthesis around macro parameters | |
96 | * Fix: rcuhlist header: use parenthesis around macro parameters | |
97 | * Fix: hlist header: use parenthesis around macro parameters | |
98 | * Fix: list.h: use parenthesis around macro parameters, caa_container_of() | |
99 | * Fix: hlist iteration relies on undefined behavior | |
100 | * Fix: use __atomic_load() rather than atomic load explicit | |
101 | * Fix: use atomic load memory_order_consume for rcu_dereference on C11/C++11 | |
102 | * fix: we used weak symbols not weak aliases | |
103 | * fix: include 'sys/endian.h' on FreeBSD | |
104 | * fix: warnings on non-Linux platforms | |
105 | * fix: HAVE_SCHED_SETAFFINITY is not defined | |
106 | * configure: enable extended compiler warnings | |
107 | * cleanup: explicitly mark unused parameters (-Wunused-parameter) | |
108 | * fix: shadowed local variable (-Wshadow) | |
109 | * cleanup: all functions have declarations (-Wmissing-prototypes) | |
110 | * Import libtap from babeltrace | |
111 | * cleanup: add 'noreturn' attribute to '_uatomic_link_error' | |
112 | * fix: add missing 'S' to AC_CHECK_PROGS | |
113 | * README.md: Document supported Glibc version | |
114 | * README: cleanup stale MacOS information | |
115 | * Bump version to 0.13.0-pre | |
116 | * configure: standardise include path | |
117 | * Remove glibc < 2.4 compat code for sched_setaffinity | |
118 | * configure: regroup automake conditionals | |
119 | * Introduce AE_FEATURE to manage configure features | |
120 | * configure: regroup library checks | |
121 | * configure: regroup and expand C header and program checks | |
122 | * configure: regroup and expand C compiler checks | |
123 | * configure: host specific config | |
124 | * tests: Move tap-driver.sh out of the autotools aux directory | |
125 | * configure: Set autotools baseline | |
126 | * configure: centralize version information | |
127 | * fix: exclude clang from GCC version blacklists | |
128 | * aarch64: blacklist gcc prior to 5.1 | |
129 | * Fix: configure: support Autoconf 2.70 | |
130 | * Don't force a target and optimization level on ARMv7 | |
131 | * Use DMB only on ARMv7 | |
132 | * Blacklist GCC 4.4.0, 4.4.1 and 4.4.2 on ARM | |
133 | * Cleanup: Move ARM specific code to urcu/arch/arm.h | |
134 | * fix: bump tests thread limit to 4096 | |
135 | * fix: reorder x86 arch detection | |
136 | * fix: typo in futex syscall define check | |
137 | * Compile time futex syscall detection | |
138 | * Static arch and uatomic headers | |
139 | * Add git-review config | |
140 | * cleanup: Improve wording of CONFIG_RCU_DEBUG description | |
141 | * fix: explicitly include urcu/config.h in files using CONFIG_RCU_ defines | |
142 | * Fix typo in README.md | |
143 | * fix: add -lurcu-common to pkg-config libs for each flavor | |
144 | * call_rcu: Fix race between rcu_barrier() and call_rcu_data_free() | |
145 | * Cleanup: tls-compat.h: add parentheses around expression (coding style) | |
146 | * Fix: tls-compat.h exposes compiler-dependent public configuration | |
147 | * Fix: tap array subscript has type char warning | |
148 | ||
f26da412 MD |
149 | 2020-04-09 Userspace RCU 0.12.0 |
150 | * tls-compat.h: introduce DEFINE_URCU_TLS_INIT | |
151 | * Use _umtx_op for futex on FreeBSD | |
152 | * Add FreeBSD, DragonFly to syscall-compat.h | |
153 | * urcu-bp: perform thread registration on urcu_bp_register_thread | |
154 | * Require automake >= 1.12 | |
155 | * cds_lfht_is_node_deleted parameter can be marked const | |
156 | * Fix: provide errno as argument to urcu_die() | |
157 | * Fix: rculfhash worker needs to unblock to SIGRCU | |
158 | * Cleanup: test_perthreadlock_timing: handle pthread mutex errors | |
159 | * Fix: SONAME bump to 6.1.0 | |
160 | * Cleanup: remove unused variable from configure.ac check | |
161 | * Fix: urcu/futex.h: users of struct timespec should include time.h | |
162 | ||
55107571 MD |
163 | 2019-05-06 Userspace RCU 0.11.0 |
164 | * Bump library version to 6:0:1 | |
165 | * Cleanup: update code layout to fix old gcc warning | |
166 | * Fix: typo CPPLAGS in examples Makefile | |
167 | * Harmonize pprint macro across projects | |
168 | * Check for TLS support after CC detection | |
169 | * Update macros from the autotools archive | |
170 | * tap-driver.sh: flush stdout after each test result | |
171 | * Update dead link in lgpl-relicensing.txt | |
172 | * Add multiflavor compat identifiers | |
173 | * Cleanup: missing sign compare fixes | |
174 | * Cleanup: enable signed/unsigned compare compiler warning | |
175 | * Cleanup: compiler warning on 32-bit architectures | |
176 | * config.h.in: rename CONFIG_RCU_MULTIFLAVOR to CONFIG_RCU_HAVE_MULTIFLAVOR | |
177 | * rculfhash: implement iterator debugging config option | |
178 | * Fix: examples silent rules on Solaris | |
179 | * Add missing fall through annotations | |
180 | * Fix: symbol aliases with TLS compat | |
181 | * Port: no symbols aliases on MacOS | |
182 | * Add -Wextra to CFLAGS | |
183 | * Add silent mode to examples Makefiles | |
184 | * doc: update examples to API changes | |
185 | * test multiflavor single compile unit | |
186 | * Update README following API changes | |
187 | * Use new header locations for includes from urcu code | |
188 | * Update call-rcu.h and defer.h comments and include guards | |
189 | * rculfqueue.h: do not include urcu-call-rcu.h | |
190 | * rculfhash: support use with multiple flavors per compile unit | |
191 | * rculfhash: do not include urcu-call-rcu.h from public API | |
192 | * Refactor liburcu to support many flavors per compile unit | |
193 | * Fix: only wait if work queue is empty in real-time mode | |
194 | * Fix: don't wait after completion of a work queue job batch | |
195 | * Fix: don't wait after completion of job batch if work queue is empty | |
196 | * Fix: workqueue: struct urcu_work vs rcu_head mixup | |
197 | * Cleanup: workqueue: update comments referring to call-rcu | |
198 | * Fix: mixup between URCU_WORKQUEUE_RT and URCU_CALL_RCU_RT | |
199 | * test_rwlock: Add per-thread count to verbose output | |
200 | * Add *.exe to gitignore for Cygwin | |
201 | * Fix: pthread_rwlock initialization on Cygwin | |
202 | * Fix: compat_futex_noasync on Cygwin | |
203 | * wfcqueue: allow defining CDS_WFCQ_WAIT_SLEEP to override `poll' | |
204 | * Update documentation for call_rcu before/after fork | |
205 | * Add support for the RISC-V architecture | |
206 | * Tests: Add tap-driver.sh for automake < 1.12 | |
207 | * Tests: Replace prove by autotools tap runner | |
208 | * liburcu-bp: Use membarrier private expedited when available | |
209 | * liburcu: Use membarrier private expedited when available | |
210 | * rculfhash: improve error handling of mmap backend | |
211 | * Fix: don't use overlapping mmap mappings on Cygwin | |
212 | * Tests fix: errors in shell scripts | |
213 | * Revert "Use initial-exec tls model" | |
214 | * Use initial-exec tls model | |
215 | * Fix: don't use membarrier SHARED syscall command in liburcu-bp | |
216 | * Tests fix: add missing Cygwin thread id | |
217 | * Fix: assignment from incompatible pointer type warnings | |
218 | * Tests fix: unused variable warnings | |
219 | * Fix: add missing m68k headers to dist | |
220 | * Bump version to 0.11-pre | |
221 | ||
0c8cf6a8 MD |
222 | 2017-06-12 Userspace RCU 0.10.0 |
223 | * Bump library soname due to urcu flavor structure change | |
224 | * Cleanup: use mutex_lock() wrapper in rculfhash | |
225 | * Use workqueue in rculfhash | |
226 | * Implement urcu workqueues internal API | |
227 | * Add support for m68k architecture | |
228 | * Set -Wall globally in AM_CFLAGS | |
229 | * Fix: remove double use of PTHREAD_CFLAGS | |
230 | * Re-add PTHREAD_CFLAGS to global CFLAGS | |
231 | * Fix: Don't override user variables within the build system | |
232 | * Add report at the end of configure | |
233 | * uatomic-api docs: use the third-person singular | |
234 | * Add --enable-rcu-debug to configure | |
235 | * ARM32: use dmb ish (inner shareable domain) for smp barriers | |
236 | * Cleanup: remove cmm_wmb() from rcu_xchg_pointer and rcu_cmpxchg_pointer | |
237 | * Fix: uatomic arm32: add missing release barrier before uatomic_xchg | |
238 | * Tests: Add verbose support to test script | |
239 | * Fix: add missing CONFIG_RCU_FORCE_SYS_MEMBARRIER to urcu/config.h.in | |
240 | * Allow forcing the use of sys membarrier | |
241 | * Fix: rcutorture: work-around signal issue on mac os x | |
242 | * Fix: rcutorture should register thread using call_rcu | |
243 | * Fix: add missing backslash in Makefile.am | |
244 | * Fix: Do not use wildcards in include/Makefile.am | |
245 | * Bump version to 0.10-pre | |
246 | * Fix: check for rand_r() in compat-rand.h | |
247 | * Fix: Move rand-compat to private src dir | |
248 | * Fix: remove AC_FUNC_MALLOC from configure.ac | |
249 | * Cleanup: Re-organise source dir | |
250 | * Cleanup: remove leftover manual pthread detection | |
251 | * Fix: update ax_pthread macro to handle newer clang | |
252 | * Update library current version due to adding destroy API | |
253 | * Fix: Use pthread_self to get threadid on OSX | |
254 | * Fix: examples: use destroy API for queues/stacks | |
255 | * Update library age due to new stack/queue destroy API | |
256 | * Fix: tests: invoke destroy APIs for queues/stacks | |
257 | * Fix: add missing destroy functions to queues/stack APIs | |
258 | * Fix: add missing __cds_wfcq_init for LGPL API | |
259 | * Fix: memory leak on hash table destroy | |
260 | * Fix: Add failover for platforms without nproc | |
261 | * Fix: use clock_get_time for caa_get_cycles fallback on MacOSX | |
262 | * Fix: syscall-compat.h MacOSX support | |
263 | * Fix: Add solaris-build.md to dist | |
264 | * rculfhash: Documentation: clarify need for grace period before "re-using" | |
265 | * Port: build shared libraries in Cygwin | |
266 | * Port: fix compatibility header for Cygwin | |
267 | * Add GNU Hurd support to syscall-compat.h | |
268 | * Add support for aarch64_be | |
269 | * Fix: urcu-bp: re-initialize list head on library exit | |
270 | * bootstrap: Standardize on autoreconf -vi | |
271 | * Harmonize bootstrap script across projects | |
272 | * Fix: examples make distcheck failure | |
273 | * wfcqueue: add C++ compatibility API | |
274 | * Fix: CDS_WFCQ_WOULDBLOCK typing for c++ | |
275 | * Fix: configure.ac: check for possibly required libs for clock_gettime | |
276 | * Support for NIOS2 architecture | |
277 | * urcu_ref_get_safe: introduce new API | |
278 | * Fix: handle reference count overflow | |
279 | * Fix: compat_futex should work-around futex signal-restart kernel bug | |
280 | * Support for Xeon-Phi with newer MPSS | |
281 | * sparc64: allocate membarrier system call number | |
282 | * hppa: allocate membarrier system call number | |
283 | * Fix build on non-Linux Debian ports | |
284 | * Fix: urcu-signal: smp_mb_master() needs registry lock | |
285 | * Fix: rculfhash only needs to include urcu-pointers.h | |
286 | * Fix: out-of-tree benchmark/regtest | |
287 | * Fix: add missing regtest and benchmark files to dist tarball | |
288 | * Fix: add missing run.sh to benchmark makefile | |
289 | ||
1ef91570 MD |
290 | 2015-10-16 Userspace RCU 0.9.0 |
291 | * Bump soname major to 4 | |
292 | * Cleanup: remove trailing tab | |
293 | * Fix: Use proper macro to detect stdbool.h | |
294 | * Configure: Add missing checks | |
295 | * Port: Add Solaris build instructions | |
296 | * Fix: regtest outputs valid TAP protocol | |
297 | * Port: Detect nproc bin name in benchmark scripts | |
298 | * Port: Add Solaris getcpu support | |
299 | * Port: Fixes to build system for portability | |
300 | * Port: Add Solaris support to tests/common/thread-id.h | |
301 | * Port: Add Solaris support to urcu/syscall-compat.h | |
302 | * Port: replace bzero() by memset() | |
303 | * Port: make bootstrap script work on most shell | |
304 | * tests: rcutorture: use parameters rather than random | |
305 | * Fix: only define membarrier system call on Linux | |
306 | * Refactor tests | |
307 | * Fix: cast caa_cycles_t to unsigned long long | |
308 | * caa_get_cycles: caa_ prefix for type, use CLOCK_MONOTONIC | |
309 | * Cleanup: remove trailing whitespaces at EOL | |
310 | * Cleanup: move generic caa_get_cycles to arch/generic.h | |
311 | * tile: allocate membarrier system call number | |
312 | * ia64: allocate membarrier system call number | |
313 | * aarch64: allocate membarrier system call number | |
314 | * powerpc64le: use "ppc" architecture | |
315 | * arm: allocate membarrier system call number | |
316 | * s390: allocate membarrier system call number | |
317 | * ppc: allocate membarrier system call number | |
318 | * lfstack: relax constraints on node re-use | |
319 | * Fix: format string signedness | |
320 | * Cleanup: tests: Branch condition evaluates to a garbage value | |
321 | * Fix: test: unchecked return value | |
322 | * Fix: test: side-effect in assertion | |
323 | * x86: allocate membarrier system call number | |
324 | * urcu-bp: use sys_membarrier when available | |
325 | * Cleanup: urcu: remove unused membarrier "group" parameter | |
326 | * urcu/ref.h: implement urcu_ref_get_unless_zero() | |
327 | * Fix: compat_futex: uninitialized ret variable | |
328 | * Fix: compat_futex_noasync: don't override return value | |
329 | * Fix: dynamic fallback to compat futex on sys_futex ENOSYS | |
330 | * Detect RCU read-side overflows | |
331 | * Detect RCU read-side underflows | |
332 | * Introduce urcu_assert and registration check | |
333 | * Fix: volatile in assert() | |
334 | * Update following changes to sys_membarrier ABI | |
335 | * uatomic: Specify complete types for atomic function calls | |
336 | * Cleanup: remove unused return value warning from tests | |
337 | * Fix: handle sys_futex() FUTEX_WAIT interrupted by signal | |
338 | * Fix: compat_futex.c: *uaddr should be read as volatile | |
339 | * Cleanup: cast poll delay return value to void | |
340 | * tests: Convert unit tests to TAP | |
341 | * Fix: make benchmark test run in oot build | |
342 | * Fix: call_rcu_thread() affinity failure | |
343 | * Cleanup: cast poll delay return value to void | |
344 | * Cleanup: cast poll delay return value to void | |
345 | * Cleanup: cast poll delay return value to void | |
346 | * Cleanup: cast poll delay return value to void | |
347 | * Cleanup: cast poll() return value to void for delays | |
348 | * urcu: fix deprecation warning with new glibc | |
349 | * urcu: add cds_list_for_each_entry_safe_from macro | |
350 | * Fix: deadlock when thread join is issued in read-side C.S. | |
351 | * Fix: rename RCU_DEBUG to DEBUG_RCU in urcu-qsbr.h | |
352 | * Cleanup some c99 pedantic warnings | |
353 | * Mark braced-groups within expressions with __extension__ | |
354 | * Fix: compat_futex_noasync race condition | |
355 | * tests: Use stderr redirection for time output | |
356 | * Fix: use space after rpath for OS X ld | |
357 | * Fix: move transparent union attribute after union declaration for clang | |
358 | * Configure: add check for used type | |
359 | * Configure: add missing check of headers | |
360 | * Configure: add missing check for funcs: memset, strerror | |
361 | * Fix: documentation: urcu-pointer.h: s/rcu_dereference_pointer/rcu_dereference/ | |
362 | * urcu-bp/urcu-qsbr: remove unneeded DEBUG_YIELD code | |
363 | * Fix: call rcu should call internal RCU API | |
364 | * Fix: silence gcc -Wextra warning | |
365 | * compiler: use __GNUC__ instead of the undefined __GNUC_MAJOR__ | |
366 | * Fix: lfstack reversed empty/non-empty return value | |
367 | * lfstack: fix: add missing __cds_lfs_init | |
368 | * wfstack: add missing union parameters | |
369 | * Fix: preserve example files' timestamps when copying | |
370 | * wfstack: implement mutex-free wfstack with transparent union | |
371 | * wfcqueue: Implement mutex-free wfcqueue head with transparent union | |
372 | * lfstack: Implement mutex-free stack head with transparent union (v2) | |
373 | * rculfhash: remove duplicated code | |
374 | * rculfhash: handle pthread_create failures | |
375 | * rculfhash: fall back to single-threaded resize on calloc failure | |
376 | * x86: drop extra semi-colon in caa_cpu_relax | |
377 | * Cleanup: tests: cast console write return value as void | |
378 | * Modernize doc using Markdown | |
379 | * Fix: update automake following README to README.md change | |
380 | * Modernize README using Markdown | |
381 | * Fix: incorrect parenthesis in cds_hlist_for_each_entry_safe_2 | |
382 | * Fix: Use after free in rcu_barrier() | |
383 | * Fix: rcu_barrier(): uninitialized futex field | |
384 | * call_rcu threads should clear their PAUSED flag when they unpause | |
385 | * test_urcu_fork: test many fork, with 3 children deep | |
386 | * Update list of supported architectures in README | |
387 | * Add support for hppa/PA-RISC architecture | |
388 | * Use autoconf AM_MAINTAINER_MODE | |
389 | * Use gcc atomics on aarch64/powerpc64le | |
390 | * Fix: move wait loop increment before first conditional block | |
391 | * Fix: high cpu usage in synchronize_rcu with long RCU read-side C.S. | |
392 | * Fix: out of tree build: doc/examples | |
393 | * Fix: out of tree build tests/common | |
394 | * tests/unit: use lib rather than source | |
395 | * automake: Rename INCLUDES to AM_CPPFLAGS (new name) | |
396 | * tests regressions: use lib rather than recompile from source | |
397 | * tests: use common lib rather than recompile compat sources | |
398 | * urcu tests: use lib rather than compile from source | |
399 | * urcu mb tests: use lib rather than recompile from source | |
400 | * urcu signal tests: use library rather than recompile source | |
401 | * tests: move yield debug to common test library | |
402 | * tests urcu bp: use lib rather than recompile source | |
403 | * test_urcu_defer: link on urcu lib rather than recompile source | |
404 | * tests/benchmark: use urcu qsbr lib rather than recompile from source | |
405 | * Pass the CC variable to the example Makefiles | |
406 | * Fix: urcu-bp interaction with threads vs constructors/destructors | |
407 | * x86 barrier for Xeon Phi: use rsp on x86-64 | |
408 | * Set RCU_HAVE_FENCE to false on Intel Xeon Phi | |
409 | * Fix undefined NULL pointer arithmetic in hlist | |
410 | * Cleanup: Check for pthread in Libc | |
411 | * Cleanup: Android: Do not redefine gettid | |
412 | * Fix undefined NULL pointer arithmetic | |
413 | * Android: implement rand_r() | |
414 | * Android: do not redefine gettid on Android | |
415 | * Android: add a compat layer for 'syscall.h' | |
416 | * Android: do not link pthread on Android | |
417 | * Android: configure.ac Android check | |
418 | * Blacklist ARM gcc 4.8.0, 4.8.1, 4.8.2 | |
419 | * rculfhash: document max_nr_buckets = 0 | |
420 | * Library major version number (soname) increment to 3 | |
421 | * Fix: tls-compat multi-lib conflict | |
422 | * Use cross compiler for doc examples | |
423 | * Add lttng-dev mailing list to readme | |
424 | * wfcqueue: remove misleading comment | |
425 | * gcc warning fixes: -Wsign-compare and -Wextra | |
426 | * Fix: urcu-qsbr: reversed logic on RCU_DEBUG | |
427 | * Fix: urcu-bp segfault in glibc pthread_kill() | |
428 | * Fix urcu-bp: don't move registry | |
429 | * Fix: compat futex duplicated lock and completion | |
430 | * Fix: i386 compat code duplicated mutex instances | |
431 | * Fix: urcu-bp: Bulletproof RCU arena resize bug | |
432 | * Fix: test_mutex.c uninitialized mutex | |
433 | ||
ca617caf MD |
434 | 2013-09-06 Userspace RCU 0.8.0 |
435 | * Fix: hash table growth (for small tables) should be limited | |
436 | * Fix: doc/examples cross-build | |
437 | * Introduce URCU_INLINE_SMALL_FUNCTIONS | |
438 | * Add missing tests/common/Makefile.am | |
439 | * README: document make check/regtest/bench | |
440 | * tests: split in check, regtest and bench targets | |
441 | * Cleanup: doc/examples makefile | |
442 | * Fix: doc/examples VPATH build | |
443 | * doc/examples: Move the LIBS after the OBJECTS in the Makefile | |
444 | * Document build work-around on MacOS X | |
445 | * Fix tests: use of uninitialized variables | |
446 | * test_urcu_hash*: initialize TLS seeds | |
447 | * doc/examples: cds_lfht_for_each_entry_duplicate | |
448 | * doc/examples: cds_lfht_lookup | |
449 | * doc/examples: cds_lfht_destroy | |
450 | * doc/examples: cds_lfht_add_replace | |
451 | * doc/examples: cds_lfht_add_unique | |
452 | * doc/examples: cds_lfht_add/cds_lfht_del | |
453 | * doc/examples: add rculfqueue example | |
454 | * doc/examples: add synchronize_rcu() | |
455 | * doc/examples: add bp flavor | |
456 | * doc/examples: add dist toplevel makefile | |
457 | * doc/examples: add membarrier flavor | |
458 | * doc/examples: document call_rcu() | |
459 | * doc/examples: update qsbr example | |
460 | * urcu signal: remove assertion on exit | |
461 | * doc/examples: signal flavor | |
462 | * doc/examples: add mb flavor | |
463 | * doc/examples: update qsbr | |
464 | * doc/examples: introduce urcu-flavors examples directory | |
465 | * doc/examples: enhance rcu-flavor-qsbr example | |
466 | * doc/examples: rename qsbr-minimal to rcu-flavor-qsbr | |
467 | * doc/examples: automake stop on error | |
468 | * doc/examples: hlist | |
469 | * hlist/rcuhlist update | |
470 | * doc/examples: fix typo in list example | |
471 | * rcuhlist: make pointer stores atomic | |
472 | * hlist, rcuhlist: cleanup coding style | |
473 | * doc/examples: lfstack | |
474 | * doc/examples: update cds_wfs_pop_all_blocking | |
475 | * doc/examples: cds_wfs_pop_all_blocking | |
476 | * doc/examples: cds_wfs_pop | |
477 | * doc/examples: add missing Makefile | |
478 | * doc/examples: cds_wfs_push | |
479 | * doc/wfcqueue: cds_wfcq_splice | |
480 | * doc/examples: add cds_wfcq_dequeue | |
481 | * doc/examples: wfcq needs to link against urcu-common | |
482 | * doc/examples: update queue comment | |
483 | * doc/examples: fix make clean | |
484 | * gitignore: add qsbr-minimal | |
485 | * doc/examples: cds_wfcq_enqueue | |
486 | * doc/examples: Move LIBS to each makefile | |
487 | * doc/examples: cds_list_for_each_rcu | |
488 | * doc/examples: cds_list_for_each_entry_rcu | |
489 | * doc/examples: cds_list_replace_rcu | |
490 | * doc/examples: cds_list_add_tail_rcu | |
491 | * doc/examples: cds_list_del_rcu | |
492 | * doc/examples: cds_list_add_rcu | |
493 | * rculist: ensure atomic updates of next pointers | |
494 | * rculist: implement cds_list_add_tail_rcu | |
495 | * rculist.h and list.h style cleanup | |
496 | * example makefile: add missing cd .. | |
497 | * Update gitignore | |
498 | * Fix: examples Makefile on FreeBSD | |
499 | * hash table test: don't redefine CACHE_LINE_SIZE | |
500 | * tests: use thread-id.h wrapper | |
501 | * Implement thread-id.h wrapper | |
502 | * tests: add missing unsigned long casts to pthread_self() | |
503 | * Fix: don't build examples in static builds | |
504 | * Add QSBR minimal example | |
505 | * compiler.h: implement CAA_ARRAY_SIZE() | |
506 | * document rcu barrier | |
507 | * rcu barrier: handle OOM die urcu_die | |
508 | * Implement rcu_barrier() | |
509 | * rculfhash: document destroy context limitations | |
510 | * Add MIPS to README | |
511 | * Update README | |
512 | * Update README testing info about FreeBSD | |
513 | * test: fix api.h missing if brackets | |
514 | * tests: fix incorrect counter | |
515 | * Fix: membarrier fallback symbol conflict | |
516 | * Fix: Use a filled signal mask to disable all signals | |
517 | * urcu-bp: introduce struct urcu_gp | |
518 | * Fix: struct urcu_gp broke multiflavor | |
519 | * Cleanup test usage printout | |
520 | * wfstack tests: use pop "last" state info | |
521 | * wfstack: return whether pop is popping the last element | |
522 | * wfcqueue tests: use dequeue empty state | |
523 | * wfcqueue: return whether dequeue is dequeuing last element | |
524 | * urcu: avoid false sharing for rcu_gp_ctr | |
525 | * urcu: make the code of urcu-qsbr as normal urcu | |
526 | * rculfhash: detect if resize/destroy are called within RCU read-side C.S. | |
527 | * Documentation: rculfhash: cds_lfht_resize not within read-side C.S. | |
528 | * fix: rculfhash don't change qsbr online state | |
529 | * Add rcu_read_ongoing() API to each urcu flavor | |
530 | * Add "sparc" host cpu to configure.ac | |
531 | * futex: include syscall.h instead of sys/syscall.h | |
532 | * Add tab to output in order to allow easy nesting of tables. | |
533 | * Remove urcu-api-list.sh from dist tarball | |
534 | * Add urcu-api-list.sh script | |
535 | * list: implement cds_list_for_each_safe() | |
536 | * Fix: tests/api.h use cpuset.h | |
537 | * Fix hurd-i386: move cpuset tests outside of sched_setaffinity conditional | |
538 | * Fix tests: finer-grained use of CPU_SET, CPU_ZERO and cpu_set_t | |
539 | * Test for CPU_SET | |
540 | * Fix build on architectures with HAVE_SCHED_GETCPU but without HAVE_SYSCONF | |
541 | * README: document that Clang 3.0 (based on LLVM 3.0) is supported | |
542 | * clang: silence "unused expression result" warning | |
543 | * rculfhash: add assertions on node alignment | |
544 | * Spelling cleanups within comments and documentation | |
545 | * Fix configure checks for Tile | |
546 | * uatomic: style fix | |
547 | * doc/cds-api.txt: expand documentation | |
548 | * README: document each API file | |
549 | * README: reorganize | |
550 | * Add compilation support for the TileGX architecture | |
551 | * wfstack: add nonblocking to _LGPL_SOURCE API | |
552 | * Discourage use of pthread_atfork() for call_rcu handlers | |
553 | * Fix call_rcu fork handling | |
554 | * test: fork handling | |
555 | * rculfhash: add cds_lfht_replace to the write operations in the comments | |
556 | * urcu: fix comments for cds_list_for_each_prev() | |
557 | * documentation: fix rcu-api.txt duplicates | |
558 | * test wfcq: remove unneeded urcu.h include | |
559 | * test wfs: remove unneeded urcu.h include | |
560 | * urcu: declare test_urcu_multiflavor functions | |
561 | * urcu: remove the wrong comma | |
562 | * wfstack: implement nonblocking pop and next | |
563 | * wfcqueue: document first/next return values | |
564 | * wfstack: update comments about cds_wfs_empty/first being wait-free | |
565 | * wfstack API: rename cds_wfs_first_blocking to cds_wfs_first | |
566 | * wfstack test: test if number of push to empty vs pop_all match | |
567 | * wfstack: document first/next return values | |
568 | * test wfstack: enforce external mutex if needed by default | |
569 | * test wfcqueue: enforce external mutex if needed by default | |
570 | * urcu-mb/signal/membarrier: batch concurrent synchronize_rcu() | |
571 | * urcu-wait: move queue management code into urcu-wait.h | |
572 | * urcu-wait: move wait code into separate file | |
573 | * urcu-qsbr: batch concurrent synchronize_rcu() | |
574 | * tests: use standard malloc/free for synchronize_rcu() | |
575 | * urcu-bp: move quiescent threads to separate list | |
576 | * urcu-mb/signal/membarrier: move quiescent threads to separate list | |
577 | * urcu-qsbr: move offline threads to separate list | |
578 | * urcu-bp: improve 2-phase wait scheme | |
579 | * urcu-mb/signal/membarrier: improve 2-phase wait scheme | |
580 | * urcu-qsbr: improve 2-phase wait scheme | |
581 | * wfcqueue: implement mutex-free splice | |
582 | * wfcqueue: document empty criterion | |
583 | * urcu-call-rcu: use wait-free splice return value | |
584 | * test wfcqueue: add tests for queue state return value | |
585 | * wfcqueue: enqueue and splice return queue state | |
586 | * Fix: wfcqueue nonblocking dequeue | |
587 | * wfcqueue: Fix lock and unlock functions | |
588 | * runtests: Make path of time binary configurable | |
589 | * urcu-qsbr: skip Q.S. reporting if already reported | |
590 | * Fix TLS detection: test with linker, add --disable-compiler-tls | |
591 | * Cleanup: cast pthread_self() return value to unsigned long | |
592 | * Fallback mechanism not working on platform where TLS is unsupported | |
593 | * Revert "Fix: cross-build: configure.ac should use --target, not --host" | |
594 | * Fix: cross-build: configure.ac should use --target, not --host | |
595 | * test_urcu_wfcq: add splice and nosync tests | |
596 | * test_urcu_wfs: cleanup | |
597 | * test_urcu_lfs: cleanup | |
598 | * Fix static linking: add missing static for _defer_rcu | |
599 | * tests: report error value for make check | |
600 | * Add multiflavor test program | |
601 | * Fix static linking: fix symbol name namespaces | |
602 | * Fix static linking: add missing static to thr_defer | |
603 | * Fix static linking: add missing static | |
604 | * deprecation: fix build with gcc < 4.5 | |
605 | * wfstack.c: update copyright notice | |
606 | * Update wfstack copyright notice | |
607 | * Comment fix: update associated LGPL header name | |
608 | * Update cds-api.txt following API deprecations | |
609 | * Deprecate wfqueue | |
610 | * Deprecate rculfstack | |
611 | * wfcqueue: introduce nonblocking API | |
612 | * lfstack: test pop_all and pop | |
613 | * lfstack: implement empty, pop_all and iterators, document API | |
614 | * lfstack: implement test | |
615 | * lfstack: implement lock-free stack | |
616 | * wfstack: implement pop_all and iteration tests | |
617 | * wfstack: implement cds_wfs_pop_all and iterators, document API | |
618 | * rculfhash test: fix trivial memleak and return node leak and errors | |
619 | * rculfhash: add missing extern | |
620 | * Cleanup: fix cppcheck errors | |
621 | * wfcqueue: remove ancient comment | |
622 | * test_urcu_lfq: remove rcu_defer_register_thread() from test_urcu_lfq | |
623 | * test_urcu_lfq: test for the proper pointer | |
624 | * test_urcu_lfs: remove rcu_defer_register_thread() from test_urcu_lfs | |
625 | * test_urcu_lfs: test for the proper pointer | |
626 | * wfcqueue: clarify locking usage | |
627 | * Document APIs in README | |
628 | * Test cleanup: replace "l" parameter by "loops" | |
629 | * Add wfcqueue header to cds.h | |
630 | * Fix: urcu-bp, urcu, urcu-qsbr should include wfcqueue | |
631 | * Fix: call_rcu list corruption on teardown (documentation) | |
632 | * call_rcu: remove head field alignement, explain wfcqueue motivation | |
633 | * wfcqueue: update credits in patch documentation | |
634 | * wfcqueue documentation: hint at for_each iterators | |
635 | * Fix urcu-call-rcu-impl.h: false-sharing | |
636 | * call_rcu: use wfcqueue, eliminate false-sharing | |
637 | * wfcqueue test | |
638 | * wfcqueue: implement concurrency-efficient queue | |
639 | * Ensure that read-side functions meet 10-line LGPL criterion | |
640 | * tls-compat.h: document sigaltstack(2) limitation | |
641 | * urcu: add notice to URCU_TLS() for it is not strictly async-signal-safe | |
642 | * Document sigaltstack(2) limitation | |
643 | * Documentation: update LICENSE file | |
644 | ||
ae51baf2 MD |
645 | 2012-08-27 Userspace RCU 0.7.4 |
646 | * rculfhash API documentation: document destroy RCU read-lock constraint | |
647 | * Fix: rculfhash should be offline while waiting for resize to complete | |
648 | * Add missing entry to gitignore | |
649 | * urcu: move busy-wait code and name it ___cds_wfq_node_sync_next() | |
650 | * urcu: fix compat_futex_noasync() | |
651 | * urcu: add hint to DEFINE_URCU_TLS() for compound types | |
652 | * Fix: CAA_BUILD_BUG_ON should refer to CAA_BUILD_BUG_ON_ZERO | |
653 | * Add MIPS support | |
654 | * Compatibility: remove bash-ismsm from test scripts | |
655 | * Fix inappropriate lib behavior: don't call exit() | |
656 | * Fix: re-enable compatibility with autoconf < 2.64 | |
657 | * Fix c99 compatibility: use __asm__ and __volatile__ in public headers | |
658 | * Fix c99 compatibility: use __typeof__ instead of typeof in public headers | |
659 | * warning fix: tests urcutorture for NetBSD 5 | |
660 | ||
3227f2cc MD |
661 | 2012-06-01 Userspace RCU 0.7.3 |
662 | * Fix tests: make dist lib dependency | |
663 | * Update README for OS supported, tests dependency | |
664 | * Add CodingStyle to tarball | |
665 | * Add coding style document | |
666 | * Test fix: test_perthreadlock uninitialized mutex | |
667 | * tests: support FreeBSD short "time" args | |
668 | * freebsd 8.2 fix: define MAP_ANONYMOUS for compatibility | |
669 | ||
8afbdefc MD |
670 | 2012-05-24 Userspace RCU 0.7.2 |
671 | * Fix library compatibility | |
672 | ||
9128481d MD |
673 | 2012-05-24 Userspace RCU 0.7.1 |
674 | * fix: uatomic_set return value compile fix for non-x86 arch. | |
675 | ||
edf0b358 MD |
676 | 2012-05-21 Userspace RCU 0.7.0 |
677 | * Cleanup: header comments coding style | |
678 | * Document uatomic operations | |
679 | * Update return value of "set" operations | |
680 | * Fix mremap wrapper for NetBSD 5 | |
681 | * Use urcu/tls-compat.h | |
682 | * Implement urcu/tls-compat.h | |
683 | * Add TLS detection m4 macro | |
684 | * document concurrent data structures | |
685 | * documentation: refer to rcu-api.txt | |
686 | * Move API.txt to doc/rcu-api.txt, install in system doc/ | |
687 | * rculfhash: document implied memory barriers | |
688 | * rculfhash: Ensure future-proof memory barrier semantic consistency | |
689 | * API cleanup: use "uatomic_*" in cmm_smp_mb__ API | |
690 | * uatomic: add memory barrier API for and/or/add/sub/inc/sub | |
691 | * rculfhash: add runhash.sh test script | |
692 | * rculfhash tests: add missing check | |
693 | * rculfhash: fix: race between replace and del operations | |
694 | * rculfhash: replace unneeded rcu_dereference by CMM_LOAD_SHARED | |
695 | * rculfhash: use do {} while (0) for dbg_printf() | |
696 | * rculfhash: cleanup typo | |
697 | * rculfhash: update API comments | |
698 | * rculfhash: update comments in implementation | |
699 | * rculfhash tests: add long hash chains tests | |
700 | * rculfhash tests: add uniqueness test | |
701 | * rculfhash test: print test name | |
702 | * rculfhash: stress requirement in documentation | |
703 | * rculfhash: fix typo | |
704 | * rculfhash tests: use array of callbacks to modularize | |
705 | * rculfhash tests: modularize tests | |
706 | * rculfhash: document ordering guarantees | |
707 | * rculfhash: document linearizability guarantees | |
708 | * rculfhash: update removal comment | |
709 | * Add missing files to .gitignore | |
710 | * Fix out-of-tree build | |
711 | * rculfhash: check malloc NULL pointer | |
712 | * Fix uatomic sign cast | |
713 | * Remove unused jhash.h file | |
714 | * Fix: use known license text, fix incorrect FSF address | |
715 | * Fix: add missing sched.h include in rculfhash.c | |
716 | * Allow tests to run on architectures without per-cpu call_rcu support | |
717 | * Hash table test: FreeBSD compatibility fix | |
718 | * tests: define _GNU_SOURCE instead of __USE_GNU | |
719 | * RCU lock-free hash table: implement cds_lfht_is_node_deleted() | |
720 | * Define _GNU_SOURCE to access CPU_ZERO() macro in uClibc | |
721 | * Install ChangeLog and README into system's doc | |
722 | * Fix AC_LANG_SOURCE usage: only takes one parameter | |
723 | * Fix autoconf futex check | |
724 | * configure.ac: Use AC_LANG_SOURCE for if else macros | |
725 | * Refresh autoconf files | |
726 | * Update gitignore | |
727 | * rculfhash: add comment about hash seed randomness within test program | |
728 | * readme: state correct GCC dependency for ARM | |
729 | * rculfhash: remove an invocation of bit_reverse_ulong() when adding | |
730 | * rculfhash: remove unneeded conversion | |
731 | * rculfhash: remove unneeded clear_flag() | |
732 | * cds_lfht_replace: add checks for old/new node hash/value match | |
733 | * rculfhash: use node instead of iter argument for deletion | |
734 | * rculfhash: number of logically removed nodes should not appear in API | |
735 | * Document that flags could be represented on 2 bits | |
736 | * Add missing REMOVAL_OWNER_FLAG comment to cds_lfht_node comment | |
737 | * _cds_lfht_del is not used for buckets anymore, remove parameter | |
738 | * rculfhash: Relax atomicity guarantees required by removal operation | |
739 | * remove unneeded "return;" | |
740 | * simplify the deletion for bucket node | |
741 | * Remove unneeded code | |
742 | * Cleanup DEFINE_RCU_FLAVOR() | |
743 | * Add cds_lfht_ prefix to fls_ulong, get_count_order_ulong, get_count_order_u32 | |
744 | * Merge RCU Lock-Free Resizable Hash Table | |
745 | ||
c2f15ecd MD |
746 | 2011-12-12 Userspace RCU 0.6.7 |
747 | * Add compat file for test urcu wfs | |
748 | * Add missing compat file for wfq test | |
749 | * hlist.h: Add missing stddef.h include for NULL | |
750 | * call_rcu: Add missing call_rcu_before_fork and | |
751 | call_rcu_after_fork_parent declarations | |
752 | * Describe autotools/libtool/automake version dependency | |
753 | * Remove m4_ifdef for AC_PROG_LIBTOOL (deprecated) | |
754 | * Support older autotools | |
755 | * Apply autoupdate to configure.ac | |
756 | * Fix build for amd64 environment (for FreeBSD 8.2) | |
757 | * Add missing rcu_dereference_sym_bp | |
758 | * Install test scripts in the dist tarball | |
759 | ||
530aab93 MD |
760 | 2011-11-03 Userspace RCU 0.6.6 |
761 | * qsbr vs call_rcu : remove exit assertion | |
762 | * Rename likely/unlikely to caa_likely/caa_unlikely | |
763 | * Reinsert missing test_urcu_*.c files (missing in rename) | |
764 | * rename test_qsbr to test_urcu_qsbr | |
765 | * urcu-pointer: fix rcu_set_pointer unset return value | |
766 | * Enhance API.txt documentation, add to Makefile as EXTRA_DIST | |
767 | ||
49472b9b MD |
768 | 2011-09-29 Userspace RCU 0.6.5 |
769 | * call_rcu: Document call_rcu requirements | |
770 | * call_rcu: fix error handling of malloc error | |
771 | * urcu call_rcu: Use RCU read-side protection for per-cpu call_rcu data | |
772 | * urcu,call_rcu: Cleanup call_rcu_data pointers before use in child | |
773 | * urcu,call_rcu: avoid create call_rcu_data for child when unneed | |
774 | * urcu,defer_rcu: Make defer_rcu encoding more compact for marker | |
775 | * urcu_defer: Use cancellation flag instead of pthread_cancel() | |
776 | * urcu,call_rcu: protects call_rcu_data_list when remove node | |
777 | * Create default call rcu data upon per-cpu call-rcu teardown | |
778 | * powerpc: use __NO_LWSYNC__ check to use appropriate lwsync/sync opcode | |
779 | * cmm: provide lightweight smp_rmb/smp_wmb on PPC | |
780 | * atomic: provide seq_cst semantics on powerpc | |
781 | * avoid leaking crdp for failed path | |
782 | * Return -EEXIST when the old cpu call_rcu_data has not been removed | |
783 | * protect writing to per_cpu_call_rcu_data[*] | |
784 | * wake up default call_rcu thread after we move the leftover callbacks | |
785 | * avoid memory leak in call_rcu_data_free() | |
786 | * urcu call_rcu: fix use after free() | |
787 | * use get_cpu_call_rcu_data() for get_call_rcu_data() | |
788 | * init maxcpus before use | |
789 | * call_rcu implementation: add missing static | |
790 | * Document QSBR interaction with mutexes | |
791 | * urcu-pointer: implement URCU_FORCE_CAST for C++ compatibility of urcu-pointer.h | |
792 | * urcu-qsbr: use rcu_thread_offline/rcu_thread_online instead of inlining them | |
793 | * Pair all_cpu call_rcu create with free | |
794 | * QSBR: add missing wakeups in synchronize_rcu code | |
795 | * cmm: do not generate code for smp_rmb/smp_wmb on x86_64 | |
796 | * cmm: let per-arch files provide cmm_smp_* barriers | |
797 | * Optimize caa_get_cycles() for PowerPC64 | |
798 | * lfq/lfs tests: use call_rcu | |
799 | * list: Add cds_list_first_entry | |
800 | * rculfstack/queue: define _LGPL_SOURCE around static header include | |
801 | * Add __rcu annotation (unimplemented) | |
802 | * Fix incorrect fsf address in header files | |
803 | * wfstack: push returns prior stack emptiness state | |
804 | * Make lf stack push return if the stack was empty | |
805 | * Document caa_container_of | |
806 | * urcu-bp: do not call munmap for NULL registry at exit | |
807 | * urcu libraries can directly use the _LGPL_SOURCE wfqueue | |
808 | * rculfstack: document "push" | |
809 | * Add runall.sh to tarball | |
810 | * Fix build order of liburcu-cds-common | |
811 | * Fix missing check for SYS_membarrier in map header | |
812 | * urcu-qsbr: avoid useless futex wakeups and burning CPU for long grace periods | |
813 | * api: reimplement BUILD_BUG_ON in compiler.h | |
814 | * test api cleanup: remove unused primitives | |
815 | * put thread offline while waiting for the init flag | |
816 | * urcu: move private definitions to .c file | |
817 | * urcu-bp: move private definitions to .c file | |
818 | * urcu-qsbr: move private definitions to .c file | |
819 | * rcutorture: fix rcutorture-qsbr | |
820 | * wfqueue: fix type-incorrect assignment | |
821 | * Fix tests Makefile EXTRA_DIST to use api.h | |
822 | * Fix choice of default flavour in urcu/map/urcu.h | |
823 | * api: remove list/hlist | |
824 | * api: remove arch-specific files | |
825 | * api: make api_gcc.h a superset of the other headers | |
826 | * tests api: remove atomics | |
827 | * put thread offline while waiting for the init flag | |
828 | * urcu: move private definitions to .c file | |
829 | * urcu-bp: move private definitions to .c file | |
830 | * urcu-qsbr: move private definitions to .c file | |
831 | * rcutorture: fix rcutorture-qsbr | |
832 | * wfqueue: fix type-incorrect assignment | |
833 | * Use caa_ prefix for min() and max() | |
834 | ||
5d80fb65 MD |
835 | 2011-07-21 Userspace RCU 0.6.4 |
836 | * uatomic: Fix ARM build errors in uatomic. | |
837 | * urcu tests: hold mutex across use of custom allocator. | |
838 | * Portability fixes to support FreeBSD 8.2. | |
839 | ||
aa120cd0 MD |
840 | 2011-06-27 Userspace RCU 0.6.3 |
841 | * uatomic: Fix i386 compatibility build errors in uatomic. | |
842 | ||
843 | 2011-06-13 Userspace RCU 0.6.2 | |
844 | * Fix build on powerpc. | |
845 | ||
846 | 2011-06-13 Userspace RCU 0.6.1 | |
847 | * Add missing headers into release tarball: | |
848 | urcu-call-rcu-impl.h and urcu-defer-impl.h | |
849 | ||
850 | 2011-06-10 Userspace RCU 0.6.0 | |
851 | * Added call_rcu() support, graciously contributed by Paul E. McKenney. | |
852 | * Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS) | |
853 | into a single .so: liburcu-cds.so to have a single header/shared | |
854 | object holding all concurrency-aware data containers. It provides | |
855 | support for RCU lists, queues and stacks at the moment. | |
856 | * liburcu 0.6.0 now allows linking a single application with multiple | |
857 | flavors of RCU. This required a library API change which is | |
858 | incompatible with older 0.5.x liburcu. The .so version number | |
859 | is therefore bumped from 0 to 1 (e.g. liburcu.so.1). | |
860 | * Added "atfork" handling API, documented in README. Only useful for | |
861 | processes using fork() without following exec(). | |
862 | * Renaming the following files, keeping the old files (producing a | |
863 | compiler warning): | |
864 | urcu/uatomic_arch.h -> urcu/uatomic.h | |
865 | urcu/urcu-futex.h -> urcu/futex.h | |
866 | urcu/urcu_ref.h -> urcu/ref.h | |
867 | ||
868 | 2011-03-04 Userspace RCU 0.5.4 | |
869 | * urcu-bp: Update fork() handling | |
870 | ||
871 | Introduce | |
872 | ||
873 | extern void rcu_bp_before_fork(void); | |
874 | extern void rcu_bp_after_fork_parent(void); | |
875 | extern void rcu_bp_after_fork_child(void); | |
876 | ||
877 | to handle fork gracefully. These disable signals and hold | |
878 | the registry mutex across forks. (this flavor of the liburcu | |
879 | library ("bp" for "bulletproof") is mainly used by UST, the | |
880 | user-space tracer). | |
881 | ||
882 | 2011-03-03 Userspace RCU 0.5.3 | |
883 | * Add support for older ARM single-CPU architecturess (pre-ARMv7) | |
884 | (thanks to Jason Wessel from WindRiver). | |
885 | * Fix ARMv7 cmm_rmb/cmm_wmb primitives (use a dmb barrier). | |
886 | * Remove leftover list_t type from urcu/list.h (namespace cleanup). | |
887 | * urcu_defer: handle malloc error value. | |
888 | * Update README file to describe urcu interaction with fork() when not | |
889 | * followed | |
890 | by an exec() system call. | |
891 | ||
892 | 2010-11-18 Userspace RCU 0.5.2 | |
893 | * Fix renaming error introduced in 0.5.0. | |
894 | ||
895 | 2010-11-18 Userspace RCU 0.5.1 | |
896 | * Fix renaming error introduced in 0.5.0. (incomplete fix) | |
897 | ||
898 | 2010-11-18 Userspace RCU 0.5.0 | |
899 | * Version 0.5.0 changes the API presented by memory model, | |
900 | architecture abstraction and data structure primitives in | |
901 | headers. The prefixes are, respectively: | |
902 | - cmm_ : Concurrent Memory Model | |
903 | - caa_ : Concurrent Architecture Abstraction | |
904 | - cds_ : Concurrent Data Structures | |
905 | ||
906 | 2010-03-04 Userspace RCU 0.4.2 | |
907 | * Add generic uatomic ops support. | |
908 | * Bugfix in urcu-bp. (rare garbage collection bug occurring in | |
909 | multithreaded environment). Only affects urcu-bp users (UST). | |
910 | ||
911 | 2010-02-12 Userspace RCU 0.4.1 | |
912 | * s390: compilation fix. | |
913 | ||
914 | 2010-01-30 Userspace RCU 0.4.0 | |
915 | * API change: SIGURCU -> SIGRCU | |
916 | * API changes: standardize on rcu_ prefix. | |
917 | * API change: urcu_init -> rcu_init. | |
918 | * urcu/config.h options renamed to CONFIG_RCU_HAVE_FENCE, | |
919 | CONFIG_RCU_HAVE_FUTEX, CONFIG_RCU_SMP, CONFIG_RCU_COMPAT_ARCH. | |
920 | ((moving from URCU -> RCU). | |
921 | * library names changes: liburcu becomes the "default" version, using | |
922 | sys_membarrier() when available, and using liburcu-mb as a | |
923 | fallback. | |
924 | * The signal-based liburcu is renamed from liburcu to | |
925 | liburcu-signal. People previously using the signal-based | |
926 | "liburcu" will automatically be moved to the "default" liburcu | |
927 | version. | |
928 | ||
929 | 2009-11-16 Userspace RCU 0.3.1 | |
930 | * Add support for sparcv9 32-bit build. | |
931 | * Update build system to use --host instead of --target. | |
932 | ||
933 | 2009-11-03 Userspace RCU 0.3.0 | |
934 | * API change for the "deferred work" interface. | |
935 | ||
936 | 2009-10-14 Userspace RCU 0.2.3 | |
937 | * Move to autotools. | |
938 | * Automated architecture detection, with i386 fallback. | |
939 | * Detect if NR_futex is on the system, fallback on portable | |
940 | alternatives. | |
941 | * Add configure mode for UP-only systems. | |
942 | ||
943 | 2009-10-02 Userspace RCU 0.2.2 | |
944 | * Phases out rcu_publish_content() api. | |
945 | * Adds type checking to urcu-pointer.h pointer exchange primitives. | |
946 | ||
947 | 2009-10-02 Userspace RCU 0.2.1 | |
948 | * small header dependency fix for rculist.h. | |
949 | * new "liburcu-bp.so" : "Bulletproof RCU", made especially for | |
950 | the UST userspace tracer. It's a library that sacrifices a bit | |
951 | of read-side performance for automatically monitoring thread | |
952 | creation/removal. See README for details. | |
953 | ||
954 | 2009-10-01 Userspace RCU 0.2 | |
955 | * Clarify usage of rcu_cmpxchg_pointer, rcu_xchg_pointer, | |
956 | rcu_set_pointer. | |
957 | ||
958 | 2009-09-29 Userspace RCU 0.1 | |
959 | * Initial release. |