lkml.org 
[lkml]   [2021]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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.

\
 
 \ /
  Last update: 2021-10-04 15:33    [W:0.537 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site