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

Dave Jones davej at redhat.com
Thu Nov 4 16:28:22 UTC 2010


On Wed, Nov 03, 2010 at 04:51:01PM -0400, Owen Taylor wrote:

 > [ But yes, 4% is a big hit. 1% I would accept without hesitation.
 >   4% does make me hesitate a little bit. During devel cycles, we
 >   accept much more slowdown than that for the debug kernel, 
 >   of course. If we can figure out profiling without frame
 >   pointers, that would be even better ]

I've had a bunch of people talking to me about the impact of the
kernel debugging causing grief for people wanting to do performance work.
Our options as I see it are
- Don't do debug by default, and ship kernel-debug in rawhide like we
  do in releases.  Downside: We lose coverage testing because not everyone
  will run it.
- We do the inverse of what we do in releases, and add a kernel-nodebug package
  I looked into this, and it really uglied up the spec file.
- We do debug off builds on Mondays, and the rest of the weeks builds are
  debug-on like they are now.  This way those doing perf work can just stay
  on the kernel from the beginning of the week.

If we go ahead and do something about that problem, what about just using
-fno-omit-frame-pointer during rawhide builds, and then switching it off
at branch time ?

As for the DWARF unwinder in the kernel.. I wouldn't rule out it ever
making a reappearance, but it really needs a lot more testing before it
gets merged. The reason it got ripped out was that it made backtraces
unreliable, which was the whole reason for even having it, so..
Rather than improve it, and then re-merge it later, the authors seem
to have got discouraged to the point where it just got dropped on the floor.
(that said, it may still be alive in SLES for all I know).

Additionally, back then, x86 maintainence in the kernel was a bit.. random.
It's a lot more focussed these days, so I'm pretty sure Ingo & co could
be persuaded to get something merged as long as it was actually stable
enough to be a viable replacement for the existing kernel backtrace
infrastructure.

	Dave



More information about the devel mailing list