On 7/8/22 15:29, Christian Hergert wrote:
>> Frank Ch. Eigler mentions that elfutils has a more modern unwinding library. 
>> Could that perhaps solve your performance issues with libunwind?
> 
> I don't think so. The problem is two-fold.
> 
> First, we have to capture enough of the stack to do offline unwinding. I 
> think the default many people do here is about 8kb of stack. While the 
> instruction pointer array might fit in a couple cachelines, you now have an 
> additional few pages to copy as well. And you probably want those pages 
> aligned in your capture format. So no you need to interleave multiple types 
> of data frames while padding for alignment.
> 
> Now do that a few thousand times a second.
> 
> The overhead here can be so great that it obscures what you're trying to 
> find. Furthermore, it's a good chance that you'll cause CPU packages to spin 
> up to a higher frequency, thusly hiding the exact performance issues you want 
> to find or reduce to avoid that.
> 
> Now, say you've done the work and captured stacks (what has now turned from a 
> few MB recording to a few GB recording) you need to decode them. We keep many 
> lookaside-maps/interval-trees in Sysprof to keep this overhead low, but now 
> you have to reference .eh/DWARF data. This is the slowest part of the whole 
> process. What currently takes a second or two could take you easily 10 
> minutes.

That is the problem right here: .eh_frame-based unwinding is too slow, so it 
has to be done offline in userspace.  What about instead adding ORC information 
to userspace?  That would be much faster to use.


-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to