[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#767756: glibc: Consider providing a libc build compiled with -fno-omit-frame-pointer to help with profiling



Source: glibc
Severity: wishlist

Hi,

When profiling with perf (and even oprofile) showing the call graph
can often be invaluable. Unfortunately for anything that goes through
libc that's not efficiently possible as glibc (on at least amd64)
doesn't build with frame pointers enabled.

It is possible to use dwarf unwinding with halfway modern kernel/perf
combinations to get call graphs even in that case, but the overhead is
about a magnitude higher and the profiles are much larger.

As applications have to be built with -fno-omit-frame-pointers anyway
to provide usable call stack it's usually not a problem if some
library isn't. But as so many things that often are bottlenecks
(syscalls, memcpy, string operations, locking, ...) goes through libc
it'd be quite valuable to have a variant of libc built with frame
pointers enabled.

Thanks for considering,

Andres

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.17.0-andres-09670-g0429fbc (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


Reply to: