On Sun, Feb 16, 2020, at 14:15, Florian Weimer wrote:
> Most unwinders should be able to use asynchronous unwind tables, which
> only impact disk size (and the size of VM mappings).

Experience with perf shows orders of magnitude of overhead of DWARF unwinding 
over fp based unwinding. The kernel uses ORC for this reason, which is up to 
20-40x faster than DWARF, in addition to the removal of the 5-10% DWARF 
performance penalty caused by .text size increase. It is however not available 
for user-space programs. Since it uses ORC, DWARF unwinding is also unavailable 
in (and unlikely to be ever supported by) the kernel, including the 
bpf_get_stack* helpers used in eBPF. Since most interaction with the kernel is 
done through libc, this unfortunately makes it impossible to meaningfully 
inspect user-space programs in response to events, which is one of the biggest 
selling points of bpf tracing.

Reply via email to