Leaving out the prologue about sframes and the rationale for this
change as is on the cover letter of v14.

Changse since v14: 
https://lore.kernel.org/linux-trace-kernel/20250717004910.297898...@kernel.org/

- Use normal SRCU instead of srcu_lite which is being deprecated
  (Paul McKenney)

- Removed the two x86 specific patches.

V14 should have all the changes to address Peter Zijlstras comments.
But Peter is now on vacation for a month, so I'm posting this without
the x86 patches. This only has the core deferred unwinding infrastructure.

The idea is to have this added to the up coming merge window as all
the other patch series rely on it. The reason I would like this patch
series in, is because those other patch series do not rely on each other
and it would be nice to develop them separately with a common code base
that happens to be upstream. Those patch series are:

- The two patches to implement x86:
  
https://lore.kernel.org/linux-trace-kernel/20250717004958.260781...@kernel.org/
  
https://lore.kernel.org/linux-trace-kernel/20250717004958.432327...@kernel.org/

- The s390 work:
  
https://lore.kernel.org/linux-trace-kernel/20250710163522.3195293-1-jre...@linux.ibm.com/

- The perf work:
  
https://lore.kernel.org/linux-trace-kernel/20250718164119.089692...@kernel.org/

- The ftrace work:
  
https://patchwork.kernel.org/project/linux-trace-kernel/patch/20250424192612.505622...@goodmis.org/

- The sframe work:
  
https://patchwork.kernel.org/project/linux-trace-kernel/cover/20250717012848.927473...@kernel.org/

And more is on the way.

Nothing enables this code without an architecture to enable it, but
similar to the PREEMPT_RT being added to the kernel before it was enabled,
it would be very useful to have this added as well. That will allow the
above code to be worked on in parallel and also stop the confusion of
releasing many series together for every iteration of this one.

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

Head SHA1: ee18ef301d2ed23c405a9f55275cadd14ca47645


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

Reply via email to