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-next>] [day] [month] [year] [list]
Message-Id: <20251227001239.405644-1-joelagnelf@nvidia.com>
Date: Fri, 26 Dec 2025 19:12:36 -0500
From: Joel Fernandes <joelagnelf@...dia.com>
To: "Paul E . McKenney" <paulmck@...nel.org>,
	Frederic Weisbecker <frederic@...nel.org>,
	Neeraj Upadhyay <neeraj.upadhyay@...nel.org>,
	Josh Triplett <josh@...htriplett.org>,
	Boqun Feng <boqun.feng@...il.com>,
	Uladzislau Rezki <urezki@...il.com>,
	Steven Rostedt <rostedt@...dmis.org>,
	Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
	Lai Jiangshan <jiangshanlai@...il.com>,
	Zqiang <qiang.zhang@...ux.dev>
Cc: rcu@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	Joel Fernandes <joelagnelf@...dia.com>
Subject: [PATCH v2 0/3] rcu/nocb: Few NOCB cleanup patches

This series removes an unnecessary wake path (WakeOvfIsDeferred) from
the NOCB code and adds debugging warnings to detect any potential lost
wakeups.

The WakeOvfIsDeferred code path in __call_rcu_nocb_wake() attempts to
wake rcuog when the callback count exceeds qhimark and callbacks aren't
done with their GP. However, testing proves this wake is always
redundant or useless - in the flooding case, rcuog is always waiting
for a GP to finish, so waking it up is pointless.

All NOCB rcutorture scenarios pass (TREE01, TREE05, TREE08).

Changes since v1:
- Split into separate patches as suggested by Frederic
- Removed the pairing smp_mb__after_spin_lock() in
  do_nocb_deferred_wakeup_timer() as noted by Frederic.

Link to v1 (RFC):
https://lore.kernel.org/all/20251225074451.2405584-1-joelagnelf@nvidia.com/

Joel Fernandes (3):
  rcu/nocb: Remove unnecessary WakeOvfIsDeferred wake path
  rcu/nocb: Add warning if no rcuog wake up attempt happened during
    overload
  rcu/nocb: Add warning to detect if overload advancement is ever useful

 kernel/rcu/tree.c      |  2 ++
 kernel/rcu/tree.h      |  2 +-
 kernel/rcu/tree_nocb.h | 53 +++++++++++++++++++++---------------------
 3 files changed, 29 insertions(+), 28 deletions(-)

--
2.34.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ