News: 0001565876

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Deferred Unwinder Code Upstreamed For Linux 6.17 On Road To SFrame Support

([Linux Kernel] 4 Hours Ago Deferred Unwinder)


Linus Torvalds today merged the initial deferred unwinder infrastructure into the [1]Linux 6.17 kernel on the path toward enabling [2]SFrame stack trace format support.

SFrame stack trace support on the libc side recently premiered in [3]GNU C Library 2.42 and [4]GNU Binutils 2.45 . SFrame is a stack trace format that is lightweight and can overcome the run-time performance cost of involving frame pointers and losing a general purpose register.

Now over in kernel space, the deferred unwinder infrastructure was upstreamed for Linux 6.17 while other patch series remain pending. Steven Rostedt sent in the core infrastructure of the deferred unwinder needed for SFrame support. That was upstreamed now since it will make the rest of the patch series easier to land, including the x86 support, s390 architecture support, perf integration, ftrace integration, and the rest of the SFrame enablement.

See [5]this merge for more details on the deferred unwinder infrastructure now in the mainline Linux kernel.

After merging the code, Linus Torvalds [6]commented :

"I'm not super-happy about merging code with no users, but in this case the code does look pretty reasonable to me, and the reasons for merging it like this in order to have the different users not have to worry about seem sane too.

I think it could have been done with a shared branch, but I guess my tree will work as a shared branch now.

So I've merged it, and I did a basic test-build both with a forced fake 'HAVE_UNWIND_USER_FP' and without (well, the "without" case is technically still building, but I don't expect issues).

I didn't see any objections in the threads leading up to this, but if somebody really hates it, holler now."

Those wanting to learn more about the SFrame stack trace format effort can do so via the [7]SourceWare.org Wiki .



[1] https://www.phoronix.com/search/Linux+6.17

[2] https://www.phoronix.com/search/SFrame

[3] https://www.phoronix.com/news/GNU-C-Library-glibc-2.42

[4] https://www.phoronix.com/news/GNU-Binutils-2.45

[5] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c6439bfaabf25b736154ac5640c677da2c085db4

[6] https://lore.kernel.org/lkml/CAHk-=whVcUX7k243mgw-d2BSJV-Z3S8DHnwTn11ZweD1y5Y9GA@mail.gmail.com/

[7] https://sourceware.org/binutils/wiki/sframe



phoronix

Life is a process, not a principle, a mystery to be lived, not a problem to
be solved.
-- Gerard Straub, television producer and author (stolen from Frank
Herbert??)