lkml.org 
[lkml]   [2011]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH tip/core/rcu 0/55] Preview of RCU changes for 3.2
    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>


    \
     
     \ /
      Last update: 2011-10-17 04:09    [W:0.028 / U:58.996 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site