Re: [PATCH 2/3] rcu: Create rcu_sync infrastructure

From: Peter Zijlstra
Date: Fri Oct 04 2013 - 03:00:58 EST


On Thu, Oct 03, 2013 at 10:00:02PM +0200, Oleg Nesterov wrote:
> On 10/03, Paul E. McKenney wrote:
> >
> > On Thu, Oct 03, 2013 at 09:33:19PM +0200, Oleg Nesterov wrote:
> > > On 10/03, Oleg Nesterov wrote:
> > > >
> > > > Because I believe this needs another patch ;) see below, didn't test
> > > > it yet.
> > > > ...
> > > > struct rcu_sync_ops {
> > > > void (*sync)(void);
> > > > void (*call)(struct rcu_head *, void (*)(struct rcu_head *));
> > > > +#ifdef CONFIG_PROVE_RCU
> > > > + bool (*held)(void);
> > > ^^^^
> > > OK, it has to return "int".
> >
> > I missed this, but the rest looked good. ;-)
>
> OK thanks ;)
>
> So unless Peter objects I'll write the changelogs (always nontrivial task),
> test, and send these 2 patches + "add ops->barr() / rcu_sync_wait_for_cb"
> tomorrow.

No I'm fine with that.. its sad that the ops thing requires a double
deref and an extra cachemiss but I don't suppose that's a real issue
since we're calling synchronize_*() things which take for ever anyway
:-)


--
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/