[PATCH] lockdep: stacktrace subsystem, core
Framework to generate and save stacktraces quickly, without printing anything to the console. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
f0a5c315eb
commit
8637c09901
@@ -10,6 +10,7 @@ obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \
|
||||
kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \
|
||||
hrtimer.o
|
||||
|
||||
obj-$(CONFIG_STACKTRACE) += stacktrace.o
|
||||
obj-y += time/
|
||||
obj-$(CONFIG_DEBUG_MUTEXES) += mutex-debug.o
|
||||
obj-$(CONFIG_FUTEX) += futex.o
|
||||
|
24
kernel/stacktrace.c
Normal file
24
kernel/stacktrace.c
Normal file
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* kernel/stacktrace.c
|
||||
*
|
||||
* Stack trace management functions
|
||||
*
|
||||
* Copyright (C) 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
|
||||
*/
|
||||
#include <linux/sched.h>
|
||||
#include <linux/kallsyms.h>
|
||||
#include <linux/stacktrace.h>
|
||||
|
||||
void print_stack_trace(struct stack_trace *trace, int spaces)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < trace->nr_entries; i++) {
|
||||
unsigned long ip = trace->entries[i];
|
||||
|
||||
for (j = 0; j < spaces + 1; j++)
|
||||
printk(" ");
|
||||
print_ip_sym(ip);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user