lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2994ade2-bd06-4ba7-bcc9-be4d0d15ea0c@paulmck-laptop>
Date: Tue, 1 Jul 2025 17:23:06 -0700
From: "Paul E. McKenney" <paulmck@...nel.org>
To: rcu@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, kernel-team@...a.com, rostedt@...dmis.org,
	Christoph Hellwig <hch@...radead.org>
Subject: [PATCH v2 0/5] Remove SRCU-lite in favor of SRCU-fast

Hello!

This series removes the deprecated SRCU-lite flavor.

Both SRCU-lite and SRCU-fast provide faster readers by dropping the
smp_mb() call from their lock and unlock primitives.  The price of this
is a pair of added RCU grace periods during the SRCU grace period.

SRCU-fast also adds NMI safety for architectures that have NMIs but do
not have NMI-safe per-CPU operations.  In addition, srcu_read_lock_fast()
returns a per-CPU pointer rather than an integer, which provides a further
speedup compared to SRCU-lite by getting rid of array-index calculations.

There is a trivial mapping from the SRCU-lite API to that of SRCU-fast,
so we do not expect any transition issues.  In addition, while SRCU-lite
remains in the kernel, checkpatch.pl will warn about added SRCU-lite
use cases.

Further read-side speedups are possible, but they amount to only about
half a nanosecond out of about two nanoseconds (measured on my x86
laptop), and they might require some changes to existing SRCU code.
These changes are trivial, but we need to see a solid need for the
additional performance before inconveniencing existing users.

1.	Remove support for SRCU-lite.

2.	Remove SRCU-lite scenarios.

3.	Remove support for SRCU-lite.

4.	Remove SRCU-lite implementation.

5.	Remove SRCU-lite deprecation.


Changes since v1:

o	Add short explanation of SRCU-lite and SRCU-fast.

						Thanx, Paul

------------------------------------------------------------------------

 b/include/linux/srcu.h                                     |    2 
 b/include/linux/srcutiny.h                                 |    3 
 b/include/linux/srcutree.h                                 |   38 ----------
 b/kernel/rcu/rcutorture.c                                  |    7 -
 b/kernel/rcu/refscale.c                                    |   32 --------
 b/scripts/checkpatch.pl                                    |    2 
 b/tools/testing/selftests/rcutorture/configs/rcu/CFLIST    |    1 
 include/linux/srcu.h                                       |   47 -------------
 tools/testing/selftests/rcutorture/configs/rcu/SRCU-L      |   10 --
 tools/testing/selftests/rcutorture/configs/rcu/SRCU-L.boot |    3 
 10 files changed, 4 insertions(+), 141 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ