Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: Mathieu Desnoyers via lttng-dev <lttng-dev@lists.lttng.org>
To: linux-kernel@vger.kernel.org, lttng-dev@lists.lttng.org,
	rp@svcs.cs.pdx.edu
Cc: Paul "E." McKenney "<paulmck@kernel.org>" Alan Stern
	"<stern@rowland.harvard.edu>" Lai Jiangshan
	<jiangshanlai@gmail.com>
Subject: [RELEASE] Userspace RCU 0.14.3 and 0.15.7
Date: Fri, 11 Sep 2026 10:48:00 -0400	[thread overview]
Message-ID: <2e21853b-8c0b-4a70-8591-bd778b210d6f@efficios.com> (raw)

Hi,

I hereby announce the 0.14.3 and 0.15.7 bugfix releases for the
currently maintained Userspace RCU stable branches.

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.

* Highlight

The most relevant fix in those releases is a fix for the memory
ordering of rcu_dereference() when used in code compiled without
_LGPL_SOURCE. The issue is that the load is non-volatile, non-atomic,
and lacks the relevant memory-order-consume semantic.

The fix is twofold:

1) A work-around in rcu_dereference_sym() which adds a cmm_smp_mb().
    This fixes memory ordering but not load atomicity.

2) Introduction of a new rcu_dereference_sym2() which fixes both
    atomicity and memory ordering. The macro now maps to this new
    symbol. The old symbol is preserved for backward compatibility.

There is also a change to the call-rcu worker to make sure the CPU
affinity is set earlier in the worker thread lifetime, eliminating
unwanted call RCU worker thread migration behaviors early in the
process lifetime (first ~2.5 seconds).

Changelog:

2026-09-11 Userspace RCU 0.15.7
         * call-rcu worker: set CPU affinity on first non-empty dequeue
         * Fix: leaky wfcq tests
         * Fix: test_build.c: Test output mismatch
         * Fix: workqueue leaks mutexes on FreeBSD
         * Fix: call-rcu leaks mutexes on FreeBSD
         * call_rcu: pin per-CPU worker at thread startup
         * urcu-pointer: Add rcu_dereference_sym2() taking the pointer address
         * urcu-pointer: Fix missing memory ordering in rcu_dereference_sym()

2026-09-11 Userspace RCU 0.14.3
         * call-rcu worker: set CPU affinity on first non-empty dequeue
         * Fix: leaky wfcq tests
         * Fix: test_build.c: Test output mismatch
         * Fix: workqueue leaks mutexes on FreeBSD
         * Fix: call-rcu leaks mutexes on FreeBSD
         * call_rcu: pin per-CPU worker at thread startup
         * urcu-pointer: Add rcu_dereference_sym2() taking the pointer address
         * urcu-pointer: Fix missing memory ordering in rcu_dereference_sym()

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


                 reply	other threads:[~2026-09-11 14:48 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2e21853b-8c0b-4a70-8591-bd778b210d6f@efficios.com \
    --to=lttng-dev@lists.lttng.org \
    --cc=jiangshanlai@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=rp@svcs.cs.pdx.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox