Messages in this thread | | | Date | Wed, 26 Feb 2014 22:42:36 +0100 | From | Andi Kleen <> | Subject | Re: [PATCH v3 00/14] perf, x86: Haswell LBR call stack support |
| |
On Wed, Feb 26, 2014 at 02:34:31PM -0700, David Ahern wrote: > On 2/26/14, 1:53 PM, Andi Kleen wrote: > >>Is there some reason not to enable frame pointers? > > > >It makes code slower. > > Sure there is some overhead because of the push, mov, pop > instructions per function. But, take for example the simple program > below. Compile with and without frame pointers
I'm not criticizing your choice, just saying that it's often not practical to get FP everywhere (and I bet you missed some cases too)
<.. micro benchmark snipped...>
The CPU you're using has special hardware to avoid the main problems with FP. It can still cause slow downs in other cases (e.g. one register less). But there are other CPUs where this special hardware is not available.
You may not care about these cases, but other people do.
> >wrong annotations, out of date or broken dwarf library etc.) > > dwarf is often just not usable:
I agree (altough I haven't seen that error before)
> That is a huge difference. Not to mention the fact the dwarf file is > useless which means radically lowering sample rate and increasing > mmap size.
Yep.
It's just fundamentally inefficient for profiling.
-Andi
| |