diff options
author | Steven Rostedt <srostedt@redhat.com> | 2011-07-14 16:36:53 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2011-07-14 16:36:53 -0400 |
commit | 4a9bd3f134decd6d16ead8d288342d57aad486be (patch) | |
tree | ca9eca5fcbe93dc8a433d839221505ad8fba5296 /include/linux/ftrace_event.h | |
parent | 259032bfe379281bf7cba512b7705bdb4ce41db5 (diff) | |
download | linux-stable-4a9bd3f134decd6d16ead8d288342d57aad486be.tar.gz linux-stable-4a9bd3f134decd6d16ead8d288342d57aad486be.tar.bz2 linux-stable-4a9bd3f134decd6d16ead8d288342d57aad486be.zip |
tracing: Have dynamic size event stack traces
Currently the stack trace per event in ftace is only 8 frames.
This can be quite limiting and sometimes useless. Especially when
the "ignore frames" is wrong and we also use up stack frames for
the event processing itself.
Change this to be dynamic by adding a percpu buffer that we can
write a large stack frame into and then copy into the ring buffer.
For interrupts and NMIs that come in while another event is being
process, will only get to use the 8 frame stack. That should be enough
as the task that it interrupted will have the full stack frame anyway.
Requested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/linux/ftrace_event.h')
-rw-r--r-- | include/linux/ftrace_event.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index b1e69eefc203..96efa6794ea5 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h @@ -76,6 +76,7 @@ struct trace_iterator { struct trace_entry *ent; unsigned long lost_events; int leftover; + int ent_size; int cpu; u64 ts; |