]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
checkpatch: Undeprecate rcu_read_lock_trace() and rcu_read_unlock_trace()
authorPaul E. McKenney <paulmck@kernel.org>
Fri, 8 May 2026 17:43:50 +0000 (10:43 -0700)
committerUladzislau Rezki (Sony) <urezki@gmail.com>
Sun, 24 May 2026 07:39:47 +0000 (09:39 +0200)
commit012c889690edc14d724a5880b4d0fe01c1fbb488
tree799e4a556df9f5d307d48c56db0011c3b3f59d7c
parente2f08cefcf483f56366e4daa292bb9ba113ec138
checkpatch: Undeprecate rcu_read_lock_trace() and rcu_read_unlock_trace()

It turns out that there are BPF use cases that rely on nesting RCU
Tasks Trace readers.  These use cases are well-served by the old
rcu_read_lock_trace() and rcu_read_unlock_trace() functions that maintain
a nesting counter in the task_struct structure.  But these use cases incur
a performance penalty when using the shiny new rcu_read_lock_tasks_trace()
and rcu_read_unlock_tasks_trace() functions, which nest in the same way
that SRCU does.

This means that rcu_read_lock_trace() and rcu_read_unlock_trace()
will be with us for some time.  Therefore, remove the checkpatch.pl
deprecation.

Also, the rcu_read_lock_tasks_trace() and rcu_read_unlock_tasks_trace()
functions are intended for use only by BPF.  Therefore, add them to
the list of functions that checkpatch complains about outside of BPF
(and of course, RCU).

Reported-by: Puranjay Mohan <puranjay@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Cc: Dwaipayan Ray <dwaipayanray1@gmail.com>
Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
scripts/checkpatch.pl