• Linus Torvalds's avatar
    Merge tag 'rcu.2022.07.26a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 7d9d077c
    Linus Torvalds authored
    Pull RCU updates from Paul McKenney:
    
     - Documentation updates
    
     - Miscellaneous fixes
    
     - Callback-offload updates, perhaps most notably a new
       RCU_NOCB_CPU_DEFAULT_ALL Kconfig option that causes all CPUs to be
       offloaded at boot time, regardless of kernel boot parameters.
    
       This is useful to battery-powered systems such as ChromeOS and
       Android. In addition, a new RCU_NOCB_CPU_CB_BOOST kernel boot
       parameter prevents offloaded callbacks from interfering with
       real-time workloads and with energy-efficiency mechanisms
    
     - Polled grace-period updates, perhaps most notably making these APIs
       account for both normal and expedited grace periods
    
     - Tasks RCU updates, perhaps most notably reducing the CPU overhead of
       RCU tasks trace grace periods by more than a factor of two on a
       system with 15,000 tasks.
    
       The reduction is expected to increase with the number of tasks, so it
       seems reasonable to hypothesize that a system with 150,000 tasks
       might see a 20-fold reduction in CPU overhead
    
     - Torture-test updates
    
     - Updates that merge RCU's dyntick-idle tracking into context tracking,
       thus reducing the overhead of transitioning to kernel mode from
       either idle or nohz_full userspace execution for kernels that track
       context independently of RCU.
    
       This is expected to be helpful primarily for kernels built with
       CONFIG_NO_HZ_FULL=y
    
    * tag 'rcu.2022.07.26a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (98 commits)
      rcu: Add irqs-disabled indicator to expedited RCU CPU stall warnings
      rcu: Diagnose extended sync_rcu_do_polled_gp() loops
      rcu: Put panic_on_rcu_stall() after expedited RCU CPU stall warnings
      rcutorture: Test polled expedited grace-period primitives
      rcu: Add polled expedited grace-period primitives
      rcutorture: Verify that polled GP API sees synchronous grace periods
      rcu: Make Tiny RCU grace periods visible to polled APIs
      rcu: Make polled grace-period API account for expedited grace periods
      rcu: Switch polled grace-period APIs to ->gp_seq_polled
      rcu/nocb: Avoid polling when my_rdp->nocb_head_rdp list is empty
      rcu/nocb: Add option to opt rcuo kthreads out of RT priority
      rcu: Add nocb_cb_kthread check to rcu_is_callbacks_kthread()
      rcu/nocb: Add an option to offload all CPUs on boot
      rcu/nocb: Fix NOCB kthreads spawn failure with rcu_nocb_rdp_deoffload() direct call
      rcu/nocb: Invert rcu_state.barrier_mutex VS hotplug lock locking order
      rcu/nocb: Add/del rdp to iterate from rcuog itself
      rcu/tree: Add comment to describe GP-done condition in fqs loop
      rcu: Initialize first_gp_fqs at declaration in rcu_gp_fqs()
      rcu/kvfree: Remove useless monitor_todo flag
      rcu: Cleanup RCU urgency state for offline CPU
      ...
    7d9d077c
Kconfig 75.3 KB