Messages in this thread | | | Date | Mon, 26 Jan 2015 11:33:29 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: perf not capturing stack traces |
| |
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
| |