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

The Bulwer-Lytton fiction contest is held ever year at San Jose State
Univ. by Professor Scott Rice. It is held in memory of Edward George
Earle Bulwer-Lytton (1803-1873), a rather prolific and popular (in his
time) novelist. He is best known today for having written "The Last
Days of Pompeii."

Whenever Snoopy starts typing his novel from the top of his doghouse,
beginning "It was a dark and stormy night..." he is borrowing from Lord
Bulwer-Lytton. This was the line that opened his novel, "Paul Clifford,"
written in 1830. The full line reveals why it is so bad:

It was a dark and stormy night; the rain fell in torrents -- except
at occasional intervals, when it was checked by a violent gust of
wind which swept up the streets (for it is in London that our scene
lies), rattling along the housetops, and fiercely agitating the scanty
flame of the lamps that struggled against the darkness.