[PATCH v16 00/10] unwind_user: Deferred unwinding infrastructure

From: Steven Rostedt
Date: Tue Jul 29 2025 - 14:24:14 EST



Jen Remus suggested some updates from v15:

https://lore.kernel.org/linux-trace-kernel/20250725185512.673587297@xxxxxxxxxx/

Those were:

- Make fp_frame into a constant

- Removed useless initializing ra variable to zero

git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
unwind/core

Head SHA1: cf079f0176cc16e937f0fd868f0ec2d649ad53dd


Josh Poimboeuf (3):
unwind_user: Add user space unwinding API with frame pointer support
unwind_user/deferred: Add unwind cache
unwind_user/deferred: Add deferred unwinding interface

Steven Rostedt (7):
unwind_user/deferred: Add unwind_user_faultable()
unwind_user/deferred: Make unwind deferral requests NMI-safe
unwind deferred: Use bitmask to determine which callbacks to call
unwind deferred: Add unwind_completed mask to stop spurious callbacks
unwind: Add USED bit to only have one conditional on way back to user space
unwind deferred: Use SRCU unwind_deferred_task_work()
unwind: Finish up unwind when a task exits

----
MAINTAINERS | 8 +
arch/Kconfig | 7 +
include/asm-generic/Kbuild | 1 +
include/asm-generic/unwind_user.h | 5 +
include/linux/entry-common.h | 2 +
include/linux/sched.h | 5 +
include/linux/unwind_deferred.h | 81 ++++++++
include/linux/unwind_deferred_types.h | 39 ++++
include/linux/unwind_user.h | 14 ++
include/linux/unwind_user_types.h | 44 +++++
kernel/Makefile | 1 +
kernel/exit.c | 2 +
kernel/fork.c | 4 +
kernel/unwind/Makefile | 1 +
kernel/unwind/deferred.c | 362 ++++++++++++++++++++++++++++++++++
kernel/unwind/user.c | 128 ++++++++++++
16 files changed, 704 insertions(+)
create mode 100644 include/asm-generic/unwind_user.h
create mode 100644 include/linux/unwind_deferred.h
create mode 100644 include/linux/unwind_deferred_types.h
create mode 100644 include/linux/unwind_user.h
create mode 100644 include/linux/unwind_user_types.h
create mode 100644 kernel/unwind/Makefile
create mode 100644 kernel/unwind/deferred.c
create mode 100644 kernel/unwind/user.c