perf events, x86/stacktrace: Fix performance/softlockup by providing a special frame...
authorFrederic Weisbecker <fweisbec@gmail.com>
Thu, 17 Dec 2009 04:40:34 +0000 (05:40 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Dec 2009 09:42:52 +0000 (10:42 +0100)
commit06d65bda75341485d32f33da474b0664819ad497
tree3b5edc58b9c5a6a9b5cff4b5886f54929b12863a
parent61c1917f47f73c968e92d04d15370b1dc3ec4592
perf events, x86/stacktrace: Fix performance/softlockup by providing a special frame pointer-only stack walker

It's just wasteful for stacktrace users like perf to walk
through every entries on the stack whereas these only accept
reliable ones, ie: that the frame pointer validates.

Since perf requires pure reliable stacktraces, it needs a stack
walker based on frame pointers-only to optimize the stacktrace
processing.

This might solve some near-lockup scenarios that can be triggered
by call-graph tracing timer events.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1261024834-5336-2-git-send-regression-fweisbec@gmail.com>
[ v2: fix for modular builds and small detail tidyup ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/stacktrace.h
arch/x86/kernel/cpu/perf_event.c
arch/x86/kernel/dumpstack.c