• Linus Torvalds's avatar
    Merge tag 'rcu.2023.06.22a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · af96134d
    Linus Torvalds authored
    Pull RCU updates from Paul McKenney:
     "Documentation updates
    
      Miscellaneous fixes, perhaps most notably:
    
       - Remove RCU_NONIDLE(). The new visibility of most of the idle loop
         to RCU has obsoleted this API.
    
       - Make the RCU_SOFTIRQ callback-invocation time limit also apply to
         the rcuc kthreads that invoke callbacks for CONFIG_PREEMPT_RT.
    
       - Add a jiffies-based callback-invocation time limit to handle
         long-running callbacks. (The local_clock() function is only invoked
         once per 32 callbacks due to its high overhead.)
    
       - Stop rcu_tasks_invoke_cbs() from using never-onlined CPUs, which
         fixes a bug that can occur on systems with non-contiguous CPU
         numbering.
    
      kvfree_rcu updates:
    
       - Eliminate the single-argument variant of k[v]free_rcu() now that
         all uses have been converted to k[v]free_rcu_mightsleep().
    
       - Add WARN_ON_ONCE() checks for k[v]free_rcu*() freeing callbacks too
         soon. Yes, this is closing the barn door after the horse has
         escaped, but Murphy says that there will be more horses.
    
      Callback-offloading updates:
    
       - Fix a number of bugs involving the shrinker and lazy callbacks.
    
      Tasks RCU updates
    
      Torture-test updates"
    
    * tag 'rcu.2023.06.22a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (32 commits)
      torture: Remove duplicated argument -enable-kvm for ppc64
      doc/rcutorture: Add description of rcutorture.stall_cpu_block
      rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale
      rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup()
      rcutorture: Correct name of use_softirq module parameter
      locktorture: Add long_hold to adjust lock-hold delays
      rcu/nocb: Make shrinker iterate only over NOCB CPUs
      rcu-tasks: Stop rcu_tasks_invoke_cbs() from using never-onlined CPUs
      rcu: Make rcu_cpu_starting() rely on interrupts being disabled
      rcu: Mark rcu_cpu_kthread() accesses to ->rcu_cpu_has_work
      rcu: Mark additional concurrent load from ->cpu_no_qs.b.exp
      rcu: Employ jiffies-based backstop to callback time limit
      rcu: Check callback-invocation time limit for rcuc kthreads
      rcu: Remove RCU_NONIDLE()
      rcu: Add more RCU files to kernel-api.rst
      rcu-tasks: Clarify the cblist_init_generic() function's pr_info() output
      rcu-tasks: Avoid pr_info() with spin lock in cblist_init_generic()
      rcu/nocb: Recheck lazy callbacks under the ->nocb_lock from shrinker
      rcu/nocb: Fix shrinker race against callback enqueuer
      rcu/nocb: Protect lazy shrinker against concurrent (de-)offloading
      ...
    af96134d
kernel-parameters.txt 252 KB