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]

 



> 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.

I'm not familiar with ORC, but there are a few things that initially come to
mind in looking towards such a solution.

First, are there any examples of perf being able to reference ORC data coming
from user-space or is it currently limited to PERF_CONTEXT_KERNEL? For
system-wide profiling, we still require that the kernel can do high-velocity
unwinding across address contexts.

My (limited) understanding of ORC is that the result produced by objtool gets
you a series of unwind tables, but those tables require further processing by
the kernel at boot.

Again, I have limited understanding, but wouldn't something need to
be processed as part of spawning and loading executable pages? There are both
.orc_unwind and .orc_unwind_ip sections, both of which need to be sorted. I
don't know what layer would be responsible for that, or how it adapts to
dlopen(), double-mapping pages like libffi, etc... but I'm sure people will
have opinions about it.

I don't know if this is limited to generating ORC data from DWARF, but the
orc-unwinder documentation also refers to difficulty when dealing with inline
assembly. That would perhaps mean that this could end up being a lot of work
and still not fix the minor-annoyance of strlen/etc not showing up correctly.

There is also a risk that ORC data cannot represent the ever-increasing
optimizations from GCC.
_______________________________________________
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