* Neal Gompa:

> So my semi-naive interpretation of the problem here is that glibc is
> special in that it doesn't provide any support for real-time tracing
> or profiling. I'm not sure that justifies removing this flag globally,
> as there are plenty of middleware stacks that do their own thing or
> even things that don't use glibc string functions at all.

Sorry, I tried to make clear that this is regular C code compiled with
the -mno-omit-leaf-frame-pointer flag, like the rest of the
distribution.

The only way in which glibc is special is that Wilco Dijkstra from Arm
has recently optimized malloc to make the happy paths as fast as
possible, intentionally triggering the shrink-wrapping optimization
through careful use of tail-calls to no-inline functions.  Any other
packages can do the same, either manually or even automatically in some
cases, with profile-guided optimization.

I think even before these malloc changes, typical workloads had like 10%
of their profiling samples in code regions where the frame pointer was
not yet set up.  And dropping -mno-omit-leaf-frame-pointer might not
even increase that percentage because short functions without memory
accesses are more likely to drop from profiles altogether.

Thanks,
Florian

-- 
_______________________________________________
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, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to