Re: F37 proposal: Add -fno-omit-frame-pointer to default compilation flags (System-Wide Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/5/22 06:06, Florian Weimer wrote:
> * Daan De Meyer via devel:
> 
>> Instead, we only saw differences from 0%-2% between Redis compiled
>> with frame pointers and Redis compiled without frame pointers. These
>> benchmarks were done using the phoronix-test-suite in exactly the same
>> way as documented in the phoronix article.
> 
> Did you actually enable frame pointers everywhere, or did you just use
> -fno-omit-frame-pointer?
> 
> Merely building with -fno-omit-frame-pointer results in incomplete
> backchain-based backtraces on x86, so I don't see the point of that.
> You get worse performance, but backtracing without DWARF still doesn't
> quite work.

Also, frame pointers do not work at all for some packages, such as
LuaJIT.  LuaJIT’s assembler code does not maintain a frame pointer,
so frame pointer-based unwinding passed it simply cannot work.
A much better solution is to figure out how to safely unwind the
stack in the kernel without frame pointers.  SystemTap is apparently
able to do this, and eBPF might be an option too with sufficient
kernel changes.  Another approach would be to change userspace build
tools to generate ORC unwind info and have the kernel use that.
That said, eBPF is my preferred approach: the verifier should prevent
an eBPF-based unwinder from doing anything nasty, which is especially
important when processing untrusted unwind information from userspace.
Alternatively, once Rust support lands in the Linux kernel, an unwinder
could be written in Rust.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux