Messages in this thread | | | Date | Sun, 26 Oct 2008 15:38:45 +0200 | From | Török Edwin <> | Subject | Re: [PATCH 1/4] Add support for userspace stacktraces in tracing/iter_ctrl |
| |
On 2008-10-26 15:29, Peter Zijlstra wrote: > On Sun, 2008-10-26 at 09:15 -0400, Frank Ch. Eigler wrote: > >> "=?ISO-8859-1?Q?Fr=E9d=E9ric_Weisbecker?=" <fweisbec@gmail.com> writes: >> >> >>> [...] >>> >>>> +/* Userspace stacktrace - based on kernel/trace/trace_sysprof.c */ >>>> + >>>> +struct stack_frame { >>>> + const void __user *next_fp; >>>> + unsigned long return_address; >>>> +}; >>>> >>> [...] >>> >> To what extent does this actually work, and on which architectures? >> While the kernel appears willing to sacrifice some performance for >> functionality by building with frame pointers at the drop of a tracing >> hat, userspace is not like that. >> > > Aww, common, Gentoo is brilliant for that :-) > > CFLAGS+=-fframe-pointer > > emerge -uDNe world > > Then again, you'd better not have all that desktop bloat installed, > otherwise that will take ages.. KDE/OOo compile times anyone? > > /me runs
It should be enough to rebuild the application you are tracing[1] + libraries, or at least libc. In userspace I can get a stacktrace using DWARF unwind info, but doing that in the kernel would be too expensive, right?
[1] assuming you are tracing latencies in a single application
Best regards, --Edwin
| |