Re: [RFC PATCH 5/5 single-thread-version] implement per-domainsingle-thread state machine call_srcu()

From: Paul E. McKenney
Date: Tue Apr 10 2012 - 16:16:19 EST


On Wed, Mar 14, 2012 at 03:47:06PM +0800, Lai Jiangshan wrote:
> On 03/13/2012 02:03 AM, Paul E. McKenney wrote:
>
> >>
> >> In mb()-based srcu, synchronize_srcu() is very fast,
> >> synchronize_srcu_expedited() makes less sense than before.
> >
> > I am worried about expedited callbacks getting backed up behind
> > non-expedited callbacks (especially given Peter's point about per-VMA
> > SRCU callbacks) and behind other workqueue uses.
> >
> >> But when wait_srcu_gp() is move back here, I will use
> >> a bigger "trycount" for synchronize_srcu_expedited().
> >>
> >> And any problem for srcu_advance_batches()?
> >
> > I prefer the use of "return" that you and Peter discussed later.
> >
> > What sort of testing are you doing?
>
> rcutorture in my box for several days on my daily used machine.

OK, good!

> What would you prefer for next round of patches, single-thread or per-cpu?
> I will send them soon.
> (per-cpu approach will be also "batches, in-sleepable, reuse rcu_head"....)
>
> I prefer the single-thread approach until high-callback-rate-per-domain-era
> comes, but I don't know how long when it comes. Peter?

Well, the price for sticking with the single-thread approach is
a commitment on your part to create a high-callback-rate-per-domain
version at a moment's notice, should it be needed.

Can you commit to that? If not, then the initial version needs to be
able to handle a high callback rate.

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/