lkml.org 
[lkml]   [2009]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH RFC -tip 0/4] v3 RCU cleanups and simplified preemptable RCU
From
Date
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


\
 
 \ /
  Last update: 2009-08-24 09:25    [W:0.630 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site