summaryrefslogtreecommitdiffstats
path: root/kernel/kprobes.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2009-03-23 22:17:01 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-23 23:25:32 +0100
commit1618536961d31f9b3f55767b22d4a897f4204c26 (patch)
treef1396f4c869328dc5d6e677f6fdde571d2c6e4d7 /kernel/kprobes.c
parentc4cff064be678f1e8344d907499f2a81282edc19 (diff)
downloadop-kernel-dev-1618536961d31f9b3f55767b22d4a897f4204c26.zip
op-kernel-dev-1618536961d31f9b3f55767b22d4a897f4204c26.tar.gz
tracing/function-graph-tracer: fix functions call traces imbalance
Impact: fix traces output Sometimes one can observe an imbalance in the traces between function calls and function return traces: func1() { } } The curly brace inside func1() is the return of another function nested inside func1. The return trace have been inserted in the buffer but not the entry. We are storing a return address on the function traces stack while we haven't inserted its entry on the buffer, hence the imbalance on the traces. This is because the tracers doesn't check all failures that can happen on buffer insertion. This patch reports the tracing recursion failures and the ring buffer failures. In such cases, we now restore the original return address for the function, giving up its return trace. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Steven Rostedt <rostedt@goodmis.org> LKML-Reference: <1237843021-11695-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/kprobes.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud