[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251230231911.GA2605197@joelbox2>
Date: Tue, 30 Dec 2025 18:19:11 -0500
From: Joel Fernandes <joelagnelf@...dia.com>
To: "Paul E. McKenney" <paulmck@...nel.org>
Cc: rcu@...r.kernel.org, linux-kernel@...r.kernel.org, kernel-team@...a.com,
rostedt@...dmis.org
Subject: Re: [PATCH v4 0/9] Implement RCU Tasks Trace in terms of SRCU for
post-v4.19
On Mon, Dec 29, 2025 at 11:10:55AM -0800, Paul E. McKenney wrote:
> Hello!
>
> This v4 patch series re-implements RCU Tasks Trace in terms of SRCU-fast,
> reducing the size of the Linux-kernel RCU implementation by several
> hundred lines of code. The patches are as follows:
>
> 1. Re-implement RCU Tasks Trace in terms of SRCU-fast.
>
> 2. context_tracking: Remove
> rcu_task_trace_heavyweight_{enter,exit}().
>
> 3. Clean up after the SRCU-fastification of RCU Tasks Trace.
>
> 4. Move rcu_tasks_trace_srcu_struct out of #ifdef
> CONFIG_TASKS_RCU_GENERIC.
>
> 5. Add noinstr-fast rcu_read_{,un}lock_tasks_trace() APIs.
>
> 6. Update Requirements.rst for RCU Tasks Trace.
>
> 7. Deprecate rcu_read_{,un}lock_trace().
>
> 8. Create an rcu_tasks_trace_expedite_current() function.
>
> 9. Test rcu_tasks_trace_expedite_current().
>
> Changes since v3:
>
> o Rebase onto v6.19-rc1.
>
> o Wait for arm64 per-CPU variable speedups to reach mainline.
>
> https://lore.kernel.org/all/a1e505e4-931b-45cf-8ca7-337442aa598e@paulmck-laptop/#r
>
> Changes since v2:
>
> o SRCU improvments not strictly related to RCU tasks trace have
> been moved out to a separate series.
>
> o Use the new DEFINE_SRCU_FAST().
>
> https://lore.kernel.org/all/7fa58961-2dce-4e08-8174-1d1cc592210f@paulmck-laptop/
>
> Changes since v1:
>
> o Consolidate RCU Tasks Trace cleanup patches per Alexei Starovoitov
> feedback. This explains the decrease from 34 patches in v1 to
> only 21 in this v2 series.
>
> o While consolidating, consolidate the noinstr-fast patches and the
> DEFINE_SRCU_FAST()/init_srcu_struct_fast() patches.
>
> o Upgrade comments per Peter Zijlstra feedback.
>
> o Extract Tiny SRCU bug fix into its own commit per Andrii Nakryiko
> feedback.
>
> o Switch srcu_expedite_current() from preempt_disable() to
> migrate_disable() for PREEMPT_RT kernels per Zqiang feedback.
>
> o Apply tags.
>
> https://lore.kernel.org/all/580ea2de-799a-4ddc-bde9-c16f3fb1e6e7@paulmck-laptop/
>
> Thanx, Paul
>
> ------------------------------------------------------------------------
>
> b/Documentation/RCU/Design/Requirements/Requirements.rst | 12
> b/Documentation/admin-guide/kernel-parameters.txt | 15
> b/include/linux/rcupdate.h | 31
> b/include/linux/rcupdate_trace.h | 107 +-
> b/include/linux/sched.h | 1
> b/init/init_task.c | 3
> b/kernel/context_tracking.c | 20
> b/kernel/fork.c | 3
> b/kernel/rcu/Kconfig | 18
> b/kernel/rcu/rcu.h | 9
> b/kernel/rcu/rcuscale.c | 7
> b/kernel/rcu/rcutorture.c | 2
> b/kernel/rcu/tasks.h | 621 ---------------
> b/scripts/checkpatch.pl | 4
> b/tools/testing/selftests/rcutorture/configs/rcu/TRACE01 | 1
> b/tools/testing/selftests/rcutorture/configs/rcu/TRACE02 | 1
> include/linux/rcupdate_trace.h | 81 +
> include/linux/sched.h | 5
> kernel/rcu/Kconfig | 25
> kernel/rcu/rcutorture.c | 1
> kernel/rcu/tasks.h | 121 --
> 21 files changed, 219 insertions(+), 869 deletions(-)
Reviewed-by: Joel Fernandes <joelagnelf@...dia.com>
thanks
Powered by blists - more mailing lists