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] [day] [month] [year] [list]
Date:   Wed, 12 Jul 2023 13:48:15 -0700
From:   "Paul E. McKenney" <paulmck@...nel.org>
To:     Frederic Weisbecker <frederic@...nel.org>
Cc:     kernel test robot <oliver.sang@...el.com>, oe-lkp@...ts.linux.dev,
        lkp@...el.com, linux-kernel@...r.kernel.org, rcu@...r.kernel.org
Subject: Re: [linus:master] [rcu/nocb]  7625926086:
 WARNING:at_kernel/rcu/tree_nocb.h:#rcu_nocb_try_bypass

On Wed, Jul 12, 2023 at 06:59:38PM +0200, Frederic Weisbecker wrote:
> On Tue, Jul 11, 2023 at 09:41:58AM -0700, Paul E. McKenney wrote:
> > On Tue, Jul 11, 2023 at 06:06:11PM +0200, Frederic Weisbecker wrote:
> > Heh!
> > 
> > The purpose was to see if this lock was ever contended.  I guess we now
> > have an answer, which is "Yes, but rarely."
> > 
> > It looks like the victim commit increased the size of the ->nocb_lock
> > critical section, just enough to make this happen sometimes.
> > 
> > Removing the WARN_ON_ONCE() seems appropriate, especially given that
> > this only happens when shrinking.
> 
> Ok, I'll check that.
> 
> > Should we add something that monitors that lock's contention?  It is
> > often the case that lock contention rises over time as new features and
> > optimizations are added.
> 
> I'm not sure. Should we keep the current ->nocb_lock_contended based engine
> to report contention somehow somewhere? Also does it behave better than our
> current spinlock slow path implementations?

The current spinlock slow path implementations try to be fair, and here
we want to favor the things dequeuing from ->cblist over those enqueuing
to it.  The idea is to slow down the enqueuing when things get busy.

But to your point, given the rarity of contention, is this a real problem
needing to be solved?  My queuing-theory studies and experiences argue
strenuously in favor of keeping it, but maybe there is a better way.

							Thanx, Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ