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]
Date:   Mon, 4 Oct 2021 15:14:45 +0200
From:   Frederic Weisbecker <frederic@...nel.org>
To:     Valentin Schneider <valentin.schneider@....com>
Cc:     "Paul E . McKenney" <paulmck@...nel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
        Peter Zijlstra <peterz@...radead.org>,
        Uladzislau Rezki <urezki@...il.com>,
        Thomas Gleixner <tglx@...utronix.de>,
        Boqun Feng <boqun.feng@...il.com>,
        Neeraj Upadhyay <neeraju@...eaurora.org>,
        Josh Triplett <josh@...htriplett.org>,
        Joel Fernandes <joel@...lfernandes.org>, rcu@...r.kernel.org
Subject: Re: [PATCH 05/11] rcu/nocb: Make rcu_core() callbacks acceleration
 (de-)offloading safe

On Fri, Oct 01, 2021 at 06:50:39PM +0100, Valentin Schneider wrote:
> On 30/09/21 00:10, Frederic Weisbecker wrote:
> > When callbacks are offloaded, the NOCB kthreads handle the callbacks
> > progression on behalf of rcu_core().
> >
> > However during the (de-)offloading process, the kthread may not be
> > entirely up to the task. As a result some callbacks grace period
> > sequence number may remain stale for a while because rcu_core() won't
> > take care of them either.
> >
> 
> But that should be taken care of at the tail end of the (de)offloading
> process, either by rcu_core() or by the NOCB kthreads, no?

True but the (de-)offloading process can take a random amount of time to
complete. During this time if the queue of callbacks is already huge, things
can explode.

> 
> Or is it e.g. in the case of offloading, we want to make sure an rcu_core()
> invocation runs callback acceleration because even if the NOCB GP/CB
> kthreads are being set up, we're not guaranteed is going to do that
> straight away?

Right.

> 
> IIUC it would be a similar case for deoffload when we stash the NOCB GP/CB
> kthreads and get rcu_core() running concurrently.

You got it!

Thanks.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ