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

Owen Taylor otaylor at redhat.com
Wed Nov 3 21:06:48 UTC 2010


On Wed, 2010-11-03 at 20:29 +0100, Jakub Jelinek wrote:

> > It seems like if it was that easy, it would have happened and we'd have
> > a solution in the upstream kernel...
> 
> I think we had one in the upstream kernel for some time, then Linus just
> didn't like to see it needing too many bugfixes needed for it and nuked it.

[..]

> > (One thing that definitely makes things tricky is paging in debuginfo. I
> > think I saw a discussion somewhere that systemtap preemptively was
> > paging in all debuginfo for traced modules. That's tricky in systemwide
> 
> Yeah, systemtap does that (and has that in kernel unwinder for userspace).

Looking at systemstap, they are exploiting the fact that they already
have an infrastructure for compiling arbitrary code into modules and
loading it into the kernel. So they've entirely bypassed the question of
how to get a DWARF unwinder upstream into the kernel.

Of course, any profiling framework *could* work with a custom kernel
module, but sysprof was actually kicked out of Fedora for a while
because it had a much simpler not-in-the-kernel module. It now uses
upstream hooks.

So systemtap at best answers the technical questions, and not the
practical question of actually making something happen. If the earlier
experience was a DWARF one got in, then got removed, it's a little hard
for me to see how a DWARF unwinder in the kernel is a practical
direction. Maybe I should have headed down earlier this week and
picketed outside the Kernel summit...

- Owen




More information about the devel mailing list