[rcu,0/4] Refactor TASKS_RCU for lazy preemption

Message ID 8c938bd5-6d62-4eff-9289-13b0d7ae8e17@paulmck-laptop
Headers
Series Refactor TASKS_RCU for lazy preemption |

Message

Paul E. McKenney Feb. 23, 2024, 12:26 a.m. UTC
  Hello!

This series refactors the NEED_TASKS_RCU option so that the conditional
processing is in one place in kernel/rcu/Kconfig.  This makes it easier
to make sure that Tasks RCU is enabled in PREEMPT_AUTO kernels, given
that such kernels are preemptible, even if only lazily so.  After all,
it takes only one lazy preemption from a trampoline to significantly
degrade your kernel's actuarial statistics.

1.	Create NEED_TASKS_RCU to factor out enablement logic.

2.	Select new NEED_TASKS_RCU Kconfig option.

3.	Select new NEED_TASKS_RCU Kconfig option.

4.	Select new NEED_TASKS_RCU Kconfig option.

						Thanx, Paul

------------------------------------------------------------------------

 arch/Kconfig         |    4 ++--
 kernel/bpf/Kconfig   |    2 +-
 kernel/rcu/Kconfig   |    6 +++++-
 kernel/trace/Kconfig |    4 ++--
 4 files changed, 10 insertions(+), 6 deletions(-)
  

Comments

Mark Rutland Feb. 23, 2024, 10:54 a.m. UTC | #1
On Thu, Feb 22, 2024 at 04:26:18PM -0800, Paul E. McKenney wrote:
> Hello!

Hi!

> This series refactors the NEED_TASKS_RCU option so that the conditional
> processing is in one place in kernel/rcu/Kconfig.  This makes it easier
> to make sure that Tasks RCU is enabled in PREEMPT_AUTO kernels, given
> that such kernels are preemptible, even if only lazily so.  After all,
> it takes only one lazy preemption from a trampoline to significantly
> degrade your kernel's actuarial statistics.
> 
> 1.	Create NEED_TASKS_RCU to factor out enablement logic.
> 
> 2.	Select new NEED_TASKS_RCU Kconfig option.
> 
> 3.	Select new NEED_TASKS_RCU Kconfig option.
> 
> 4.	Select new NEED_TASKS_RCU Kconfig option.

For the series:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.