Re: [PATCH RFC -tip 0/4] v3 RCU cleanups and simplifiedpreemptable RCU

From: Peter Zijlstra
Date: Mon Aug 24 2009 - 03:23:06 EST


On Sat, 2009-08-22 at 13:52 -0700, Paul E. McKenney wrote:
>
> o Rename variables and functions so that RCU-sched is an
> underlying definition, along with RCU-bh and (when so
> configured) RCU-preempt. RCU then maps to either RCU-sched
> or RCU-preempt, depending on configuration.

Nice, but we're not quite there yet it seems, since RCU-preempt isn't
available outside of TREE_PREEMPT_RCU afaiks.

That is, I'm still hoping for the day that generic code can do:

rcu_preempt_read_lock();


call_rcu_preempt(&my_rcu_thing);
rcu_preempt_read_unlock();

And have it work like expected, this would, I think, remove much of the
need for SRCU.


The thing I've talked about earlier is an extension of this where you
can create multiple RCU domains along the lines of:

struct rcu_preempt_domain my_domain;

rcu_preempt_init(&my_domain);


and

rcu_preempt_read_lock(&my_domain);

call_rcu_preempt(&my_domain, &my_rcu_head);
rcu_preempt_read_unlock(&my_domain);


Which would allow you to create smaller RCU domains for when you want
faster grace periods due to less interference of other rcu users.


Anyway, enough rambling, the patch-set does look very nice, and if time
permits I'll try and go through the preempt-tree-rcu thing.

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