Messages in this thread | | | Subject | Re: [COUNTERPATCH] mm: avoid overflowing preempt_count() in mmu_take_all_locks() | From | Peter Zijlstra <> | Date | Thu, 01 Apr 2010 18:36:14 +0200 |
| |
On Thu, 2010-04-01 at 09:15 -0700, Paul E. McKenney wrote: > > I don't understand. I thought the problem was that the locks were > > taken inside an rcu critical section; switching to srcu would fix > > that. But how is call_rcu_preempt() related? Grepping a bit, what > > is call_rcu_preempt()? my tree doesn't have it. > > I believe that Peter is referring to the RCU implementation you get > with CONFIG_TREE_PREEMPT_RCU, which currently depends on CONFIG_PREEMPT. > The other implementation is CONFIG_TREE_RCU, which is usually called > "classic RCU".
Right, so I've been nudging Paul a while to make it so that we always have preemptible rcu available and that only the default interface switches between sched/classic and preempt.
Currently we already have:
call_rcu_sched() call_rcu_bh() call_rcu() (depends on CONFIG_PREEMPT_RCU)
I'm saying it would be nice to also have:
call_rcu_preempt()
| |