[lttng-dev] [RELEASE] Userspace RCU 0.14.1 and 0.13.4

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Wed Aug 28 15:22:16 EDT 2024


Hi,

This is a release announcement for the version 0.14.1 and 0.13.4
of the liburcu project.

Included in those releases are bug fixes, new architecture support,
OpenBSD support, and documentation updates.

liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This
data synchronization library provides read-side access which scales
linearly with the number of cores. It does so by allowing multiple
copies of a given data structure to live at the same time, and by
monitoring the data structure accesses to detect grace periods after
which memory reclamation is possible.

liburcu-cds provides efficient data structures based on RCU and
lock-free algorithms. Those structures include hash tables, queues,
stacks, and doubly-linked lists.

* New in these releases:

v0.14.1:

2024-08-28 Userspace RCU 0.14.1
         * Fix: missing typename in URCU_FORCE_CAST
         * Allow building with GCC >= 13.3 on RISC-V
         * pointer.h: Fix the rcu_cmpxchg_pointer documentation
         * Adjust shell script to allow Bash in other locations
         * fix: handle EINTR correctly in get_cpu_mask_from_sysfs
         * Relicense src/compat-smp.h to MIT
         * ppc.h: use mftb on ppc
         * Fix: allow clang to build liburcu on RISC-V
         * Fix -Walloc-size
         * urcu/uatomic/riscv: Mark RISC-V as broken
         * Fix: urcu-bp: misaligned reader accesses
         * LoongArch: Document that byte and short atomics are implemented with LL/SC
         * Add LoongArch support
         * tests/regression/rcutorture: Add wait state
         * urcu-wait: Initialize node in URCU_WAIT_NODE_INIT
         * Fix: urcu-wait: add missing futex.h include
         * Adjust shell scripts to allow Bash in other locations
         * Add support for OpenBSD
         * Revert "compiler.h: Introduce caa_unqual_scalar_typeof"
         * rculfhash: Use caa_container_of_check_null in cds_lfht_entry
         * compiler.h: Introduce caa_container_of_check_null
         * compiler.h: Introduce caa_unqual_scalar_typeof
         * Avoid calling caa_container_of on NULL pointer in cds_lfht macros
         * Fix: revise urcu_read_lock_update() comment
         * Fix: uatomic powerpc comment about lwsync
         * fix: aarch64: allow RHEL7 gcc 4.8.5-11
         * fix: warning 'noreturn' function does return on ppc
         * Fix: use __noreturn__ for C11-compatibility

v0.13.4:

2024-08-28 Userspace RCU 0.13.4
         * Allow building with GCC >= 13.3 on RISC-V
         * pointer.h: Fix the rcu_cmpxchg_pointer documentation
         * fix: handle EINTR correctly in get_cpu_mask_from_sysfs
         * Relicense src/compat-smp.h to MIT
         * ppc.h: use mftb on ppc
         * Fix: allow clang to build liburcu on RISC-V
         * Fix -Walloc-size
         * urcu/uatomic/riscv: Mark RISC-V as broken
         * Fix: urcu-bp: misaligned reader accesses
         * tests/regression/rcutorture: Add wait state
         * urcu-wait: Initialize node in URCU_WAIT_NODE_INIT
         * Fix: urcu-wait: add missing futex.h include
         * Adjust shell scripts to allow Bash in other locations
         * Add support for OpenBSD
         * Revert "compiler.h: Introduce caa_unqual_scalar_typeof"
         * rculfhash: Use caa_container_of_check_null in cds_lfht_entry
         * compiler.h: Introduce caa_container_of_check_null
         * compiler.h: Introduce caa_unqual_scalar_typeof
         * Avoid calling caa_container_of on NULL pointer in cds_lfht macros
         * Fix: revise urcu_read_lock_update() comment
         * Fix: uatomic powerpc comment about lwsync
         * fix: aarch64: allow RHEL7 gcc 4.8.5-11
         * fix: warning 'noreturn' function does return on ppc
         * Fix: use __noreturn__ for C11-compatibility

Project website: https://liburcu.org
Git repository: git://git.liburcu.org/urcu.git
-- 
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com


More information about the lttng-dev mailing list