On Tue, Dec 06, 2022 at 08:13:51AM -0500, Neal Gompa wrote: > "may improve" is proven to be "does improve significantly". We had That is nonsense. Even with -fno-omit-frame-pointers, you can't rely on frame pointers, they are not accurate in function prologues and epilogues and they are total garbage e.g. in a lot of functions written in assembly. The only reliable way to get backtraces is DWARF info or something derived from it, that is for code emitted by the compilers (with the default -fasynchronous-unwind-tables) accurate for all instructions and for hand written assembly one has at least a way to describe that through .cfi_* directives. As has been written multiple times, for profiling there doesn't need to be full DWARF unwinder in the kernel, it is enough that there is something that can handle the wast majority of cases and punt (copy to userland full stack) in case of anything unexpected as long as it is rare. Say on x86-64 and various other targets, the stack pointer, CFA (how to get caller's stack pointer), frame pointer if any or return address is very rarely stored anywhere but on the stack, so it should be enough to consider CFA, sp, bp, ip during unwinding and ignore everything else and from the harder DW_CFA_* ops (those that need DWARF expression evaluation) perhaps only pattern recognize the most common ones (say PLT slot, signal frame). Frame pointers will never result in anything reliable though, it results purely in severe performance degradation and false feeling they can be relied on. Jakub _______________________________________________ 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, report it: https://pagure.io/fedora-infrastructure/new_issue