Re: [PATCH 2/2] smp_call_function: use rwlocks on queues ratherthan rcu

From: Peter Zijlstra
Date: Mon Aug 25 2008 - 06:32:58 EST


On Fri, 2008-08-22 at 13:53 -0700, Paul E. McKenney wrote:
> On Fri, Aug 22, 2008 at 03:03:13PM -0500, Christoph Lameter wrote:
> > Paul E. McKenney wrote:
> >
> > > I was indeed thinking in terms of the free from RCU being specially marked.
> >
> > Isnt there some way to shorten the rcu periods significantly? Critical
> > sections do not take that long after all.
>
> In theory, yes. However, the shorter the grace period, the greater the
> per-update overhead of grace-period detection -- the general approach
> is to use a per-CPU high-resolution timer to force RCU grace period
> processing every 100 microseconds or so.

You could of course also drive the rcu state machine from
rcu_read_unlock().

> Also, by definition, the RCU
> grace period can be no shorter than the longest active RCU read-side
> critical section. Nevertheless, I have designed my current hierarchical
> RCU patch with expedited grace periods in mind, though more for the
> purpose of reducing latency of long strings of operations that involve
> synchronize_rcu() than for cache locality.

Another thing that could be done is more often force a grace period by
flipping the counters.

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