Messages in this thread | | | Date | Fri, 26 Feb 2010 16:38:31 -0800 | From | "Paul E. McKenney" <> | Subject | [PATCH tip/core/rcu 0/3] rcu: fixes for lockdep RCU and accelerated dyntick GPs |
| |
Hello!
This patchset includes three fixes for problems in tip/core/rcu:
1. Convert grace-period acceleration for the last non-dynticked RCU to a trivial state machine in order to avoid illegally invoking __rcu_process_callbacks() with irqs disabled.
2. Make the non-PROVE_RCU variant of rcu_read_lock_sched_held() understand that preemption is disabled during boot before the scheduler starts. (The earlier patch did the PROVE_RCU variant, but missed the non-PROVE_RCU variant.)
3. Add some irq-disabling to the grace-period acceleration in #1 above and also enforce a hold-off period so that the last non-dynticked CPU doesn't softirq itself to death when there are multiple RCU callbacks in flight.
Thanx, Paul
b/include/linux/rcupdate.h | 3 - b/kernel/rcutree.c | 3 + b/kernel/rcutree.h | 1 b/kernel/rcutree_plugin.h | 74 ++++++++++++++++++++++++++++++++------------- kernel/rcutree_plugin.h | 11 +++++- 5 files changed, 67 insertions(+), 25 deletions(-)
| |