Re: perf not capturing stack traces

From: Arnaldo Carvalho de Melo
Date: Mon Jan 26 2015 - 09:33:34 EST


Em Mon, Jan 26, 2015 at 01:54:06PM +0000, Russell King - ARM Linux escreveu:
> On Mon, Jan 26, 2015 at 09:12:43AM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Mon, Jan 26, 2015 at 10:27:11AM +0000, Will Deacon escreveu:
> > > FWIW, perf can now use libunwind for unwinding the userspace side of
> > > things, so it's not quite as bad as it used to be. For the kernel side,
> > > if the unwinder isn't working properly it would be nice to know *why*,
> > > but I agree that it tends to be far flakier than the frame-pointer method.

> > Any idea why, with userspace using frame pointers, perf doesn't go all
> > the way from kernel to userspace main() (or whatever is the endpoint),
> > as Russel stated?
> ^ *growl*

I misunderstood, as corrected on another message, sorry.

> I've rebuilt userspace code which I've been working on in with a bunch of
> flags which makes it use frame pointers in ARM mode, and perf does seem
> to be capable of that; in that case, perf_callchain_user() can walk the
> linked set of frames.
>
> However, if glibc is built for thumb2 or doesn't contain frame pointers,
> userspace tracing pretty much stops after you hit the first function in
> userspace.

Right.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/