• Linus Torvalds's avatar
    Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b99cdfdf
    Linus Torvalds authored
    Pull RCU updates from Thomas Gleixner:
     "A large update to RCU:
    
      Preparatory work for consolidating the RCU flavors:
    
       - Introduce grace-period sequence numbers to the RCU-bh, RCU-preempt,
         and RCU-sched flavors, replacing the old ->gpnum and ->completed
         pair of fields.
    
         This change allows lockless code to obtain the complete
         grace-period state with a single READ_ONCE(), which is needed to
         maintain tolerable lock contention during the upcoming
         consolidation of the three RCU flavors.
    
         Note that grace-period sequence numbers are already used by
         rcu_barrier(), expedited RCU grace periods, and SRCU, and are thus
         already heavily used and well-tested. Joel Fernandes contributed a
         number of excellent fixes and improvements.
    
       - Clean up some grace-period-reporting loose ends, including
         improving the handling of quiescent states from offline CPUs and
         fixing some false-positive WARN_ON_ONCE() invocations.
    
         (Strictly speaking, the WARN_ON_ONCE() invocations were quite
         correct, but their invariants were (harmlessly) violated by the
         earlier sloppy handling of quiescent states from offline CPUs.)
    
         In addition, improve grace-period forward-progress guarantees so as
         to allow removal of fail-safe checks that required otherwise
         needless lock acquisitions. Finally, add more diagnostics to help
         debug the upcoming consolidation of the RCU-bh, RCU-preempt, and
         RCU-sched flavors.
    
      The rest:
    
       - SRCU updates
    
       - Updates to rcutorture and associated scripting.
    
       - The usual pile of miscellaneous fixes"
    
    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (118 commits)
      rcutorture: Fix rcu_barrier successes counter
      rcutorture: Add support to detect if boost kthread prio is too low
      rcutorture: Use monotonic timestamp for stall detection
      rcutorture: Make boost test more robust
      rcutorture: Disable RT throttling for boost tests
      rcutorture: Emphasize testing of single reader protection type
      rcutorture: Handle extended read-side critical sections
      rcutorture: Make rcu_torture_timer() use rcu_torture_one_read()
      rcutorture: Use per-CPU random state for rcu_torture_timer()
      rcutorture: Use atomic increment for n_rcu_torture_timers
      rcutorture: Extract common code from rcu_torture_reader()
      rcuperf: Remove unused torturing_tasks() function
      rcu: Remove rcutorture test version and sequence number
      rcutorture: Change units of onoff_interval to jiffies
      rcu: Assign higher prio to RCU threads if rcutorture is built-in
      rculist: Improve documentation for list_for_each_entry_from_rcu()
      srcu: Add grace-period number to rcutorture statistics printout
      rcu: Print stall-warning NMI dyntick state in hexadecimal
      MAINTAINERS: Update RCU, SRCU, and TORTURE-TEST entries
      rcu: Make rcu_seq_diff() more exact
      ...
    b99cdfdf
MAINTAINERS 450 KB