Compile with -fno-omit-frame-pointer on x86_64?

Adam Jackson ajax at
Wed Nov 3 20:10:30 UTC 2010

On Wed, 2010-11-03 at 19:58 +0100, Jakub Jelinek wrote:
> On Wed, Nov 03, 2010 at 02:48:12PM -0400, Owen Taylor wrote:
> > Basically summarizes the situation, and as far as I know nothing has
> > changed ... with default compilation options, getting callgraph
> > profiling on x86_64 really requires a DWARF unwinder in the kernel.
> > Which seems unlikely to happen.
> But that's the right thing to do.

Sure, but so is a kernel debugger, and it's taken us over ten years to
get one.  I'm pretty okay with doing something wrong now if it gets me
something usable for long enough to get something right later.  I'll
take 4% across the board if it helps me find the 20% that matters.

> There is always callgrind if you don't want to recompile anything and
> need to profile something even when kernel doesn't support it.

I don't want to know how callgrinded X performs, I want to know how X
performs.  callgrind means operations that would be one millisecond
become half a second, and that's thirty frames instead of a sixteenth of
a frame.  That means I end up optimizing for function call cycle counts
instead of fixing my algorithms to not starve the hardware.

If wall time matters, callgrind is the wrong tool, and you need a live

- ajax

More information about the devel mailing list