Re: [RFC][PATCH] srcu: Implement call_srcu()

From: Paul E. McKenney
Date: Tue Jan 31 2012 - 17:24:50 EST


On Tue, Jan 31, 2012 at 02:50:07PM +0100, Peter Zijlstra wrote:
> On Tue, 2012-01-31 at 15:47 +0200, Avi Kivity wrote:
>
> > They really need to return quickly to userspace, and they really need to
> > perform some operation between rcu_assign_pointer() and returning, so no.
>
> Bugger :/
>
> > >
> > > Compile tested only!! :-)
> > >
> >
> > How much did synchronize_srcu_expedited() regress? Presumably your
> > compiler didn't tell you that.
>
> Nope, quite a lot I figure.
>
> > Can we get it back to speed by scheduling a work function on all cpus?
> > wouldn't that force a quiescent state and allow call_srcu() to fire?
> >
> > In kvm's use case synchronize_srcu_expedited() is usually called when no
> > thread is in a critical section, so we don't have to wait for anything
> > except the srcu machinery.
>
> OK, I'll try and come up with means of making it go fast again ;-)

I cannot resist suggesting a kthread to do the call_srcu(), which
would allow synchronize_srcu_expedited() to proceed with its current
brute-force speed.

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/