On Thu, Nov 28, 2024 at 1:37 AM Jiri Slaby <jslaby@suse.cz> wrote:
On 27. 11. 24, 20:15, Andrii Nakryiko wrote:
There is just no good and reliable solution for DWARF-based stack unwinding.
I don't understand this either. We used to have DWARF annotations and an unwinder in SUSE kernels. It was both good and reliable. Before ORC became so. Note we use ORC for livepatching and ORC was developed to be reliable for those purposes.
Again, ORC is for kernels. We are discussing user space. There is no ORC for user space. ORC gets the benefit of always being in physical memory, and so can be relied upon in NMI context. Even if we had ORC for user space (SFrame is meant to be that), there is still a complication of user space application's ORC/SFrame data not being physically mapped into memory. Which means there is an extra delayed memory paging necessity, which means asynchronous user stack trace capture, and a bunch of associated kernel infrastructure around that. Which is what is being developed as part of SFrame integration. Please stop misleading others with references to ORC in the context of this frame pointer discussion. No one is proposing to enable frame pointers *for kernel* (we have ORC there and it does work, no need to improve anything). But we need frame pointers *for user space*, because we don't yet have ORC equivalent and necessary asynchronous stack trace capturing machinery in the kernel.
thanks, -- js suse labs