diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2013-03-13 23:34:22 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-05-07 19:57:23 -0700 |
commit | 13f475a567de775169fd7e69a5d84fc41c168c3e (patch) | |
tree | 2d5984b2570c3f1c97821a5ed99310413b69cf9e /crypto/testmgr.h | |
parent | 53318264d21af2445edd1eb47b4189717d53f288 (diff) | |
download | kernel_samsung_espresso10-13f475a567de775169fd7e69a5d84fc41c168c3e.zip kernel_samsung_espresso10-13f475a567de775169fd7e69a5d84fc41c168c3e.tar.gz kernel_samsung_espresso10-13f475a567de775169fd7e69a5d84fc41c168c3e.tar.bz2 |
tracing: Remove most or all of stack tracer stack size from stack_max_size
commit 4df297129f622bdc18935c856f42b9ddd18f9f28 upstream.
Currently, the depth reported in the stack tracer stack_trace file
does not match the stack_max_size file. This is because the stack_max_size
includes the overhead of stack tracer itself while the depth does not.
The first time a max is triggered, a calculation is not performed that
figures out the overhead of the stack tracer and subtracts it from
the stack_max_size variable. The overhead is stored and is subtracted
from the reported stack size for comparing for a new max.
Now the stack_max_size corresponds to the reported depth:
# cat stack_max_size
4640
# cat stack_trace
Depth Size Location (48 entries)
----- ---- --------
0) 4640 32 _raw_spin_lock+0x18/0x24
1) 4608 112 ____cache_alloc+0xb7/0x22d
2) 4496 80 kmem_cache_alloc+0x63/0x12f
3) 4416 16 mempool_alloc_slab+0x15/0x17
[...]
While testing against and older gcc on x86 that uses mcount instead
of fentry, I found that pasing in ip + MCOUNT_INSN_SIZE let the
stack trace show one more function deep which was missing before.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'crypto/testmgr.h')
0 files changed, 0 insertions, 0 deletions