Messages in this thread | | | Date | Mon, 24 Oct 2011 05:35:26 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH tip/core/rcu 0/55] Preview of RCU changes for 3.2 |
| |
On Sun, Oct 16, 2011 at 07:06:13PM -0700, Josh Triplett wrote: > On Tue, Sep 06, 2011 at 11:00:15AM -0700, Paul E. McKenney wrote: > > Hello! > > > > This patchset adds RCU event tracing, improved diagnostics and > > documentation, and fixes a number of bugs, including several from an > > ongoing top-to-bottom inspection of RCU. The patches are as follows: > > > > 1. Place per-CPU kthreads' stack and task struct on the corresponding > > node on NUMA systems (courtesy of Eric Dumazet). > > 2. Avoid unnecessary self-wakeups for per-CPU kthreads > > (courtesy of Shaohua Li). > > 3,6,10,12,25,28,33. > > Documentations updates (some courtesy Wanlong Gao). > > 4. Add replacement checks for blocking within an RCU read-side > > critical section. > > 5. Header-file untangling part 1 of N: move rcu_head to types.h. > > 7. Fix mismatched variable declaration (courtesy of Andi Kleen). > > 8. Abstract out common grace-period-primitive code. > > 9. Update rcutorture to test newish RCU API members. > > 11. Drive RCU algorithm selection directly from SMP and PREEMPT. > > 13. Make rcu_torture_boost() wait for callbacks before telling > > debug-objects that they are done. > > 14-17,20,22. > > Add event tracing for RCU. > > 18. Update comments to reflect kthreads being used only when > > RCU priority boosting is enabled. > > 19. Move RCU_BOOSt data declarations to alow compiler to detect > > mismatches. > > 20. Make TINY_RCU use softirqs for RCU_BOOST=n. > > 23. Simplify quiescent-state accounting. > > 24. Stop passing rcu_read_lock_held() to rcu_dereference_protected() > > (courtesy of Michal Hocko). > > 26. Remove unused and redundant RCU API members. > > 27. Allow rcutorture's stat_interval parameter to be changed at runtime > > to make it easier to test RCU in guest OSes. > > 28. Removed unused nohz_cpu_mask (courtesy of Alex Shi). > > 30. Eliminate in_irq() checks in rcu_enter_nohz(). > > 31. Fix rcu_implicit_dynticks_qs() local-variable size mismatches. > > 32. Make rcu_assign_pointer() unconditionally emit memory barrier > > to silence new gcc warnings (courtesy of Eric Dumazet). > > 34. Move __rcu_read_lock()'s barrier within if-statement. > > 35. Dump local stack for CPU stall warnings if cannot dump all stacks. > > 36. Prevent early-boot set_need_resched() from __rcu_pending(). > > 37. Simplify unboosting checks. > > 38. Prohibit RCU grace periods during early boot. > > 39. Suppress NMI backtraces when CPU stall ends before dump. > > 40. Avoid just-online CPU needlessly rescheding itself. > > 41. Permit rt_mutex_unlock() with irqs disabled. > > 42-43. Prevent end-of-test rcutorture hangs. > > 44. Wire up RCU_BOOST_PRIO, use conventional kthread naming scheme > > (courtesy of Mike Galbraith). > > 45. Check for entering dyntick-idle in RCU read-side critical section. > > 46. Adjust RCU_FAST_NO_HZ to avoid false quiescent states. > > 47. Avoid concurrent end of old GP with start of new GP. > > 48. Strengthen powerpc value-returning atomic memory ordering. > > 49-51. Detect illegal RCU use from dyntick-idle mode (courtesy of > > Frederic Weisbecker). > > 52. Remove an unnecessary layer of abstraction from PROVE_RCU checking. > > 53. Detect illegal SRCU use from dyntick-idle mode. > > 54. Make SRCU use common lockdep-splat code. > > 55. Placeholder patch that disables illegal tracing from dyntick-idle > > mode (illegal because tracing uses RCU). > > I responded to a few of the patches with comments and potential issues. > I also don't consider myself qualified to review patch 48/55, "powerpc: > strengthen value-returning-atomics memory barriers". For the rest: > > Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Thank you very much for your review and comments!!!
Thanx, Paul
| |