[PATCH] x86: add sysctl for kstack_depth_to_print
Add sysctl for kstack_depth_to_print. This lets users change the amount of raw stack data printed in dump_stack() without having to reboot. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
parent
c7a3392e9e
commit
0741f4d207
|
@ -27,6 +27,7 @@ show up in /proc/sys/kernel:
|
||||||
- hotplug
|
- hotplug
|
||||||
- java-appletviewer [ binfmt_java, obsolete ]
|
- java-appletviewer [ binfmt_java, obsolete ]
|
||||||
- java-interpreter [ binfmt_java, obsolete ]
|
- java-interpreter [ binfmt_java, obsolete ]
|
||||||
|
- kstack_depth_to_print [ X86 only ]
|
||||||
- l2cr [ PPC only ]
|
- l2cr [ PPC only ]
|
||||||
- modprobe ==> Documentation/kmod.txt
|
- modprobe ==> Documentation/kmod.txt
|
||||||
- msgmax
|
- msgmax
|
||||||
|
@ -170,6 +171,13 @@ This flag controls the L2 cache of G3 processor boards. If
|
||||||
|
|
||||||
==============================================================
|
==============================================================
|
||||||
|
|
||||||
|
kstack_depth_to_print: (X86 only)
|
||||||
|
|
||||||
|
Controls the number of words to print when dumping the raw
|
||||||
|
kernel stack.
|
||||||
|
|
||||||
|
==============================================================
|
||||||
|
|
||||||
osrelease, ostype & version:
|
osrelease, ostype & version:
|
||||||
|
|
||||||
# cat osrelease
|
# cat osrelease
|
||||||
|
|
|
@ -91,7 +91,7 @@ asmlinkage void alignment_check(void);
|
||||||
asmlinkage void spurious_interrupt_bug(void);
|
asmlinkage void spurious_interrupt_bug(void);
|
||||||
asmlinkage void machine_check(void);
|
asmlinkage void machine_check(void);
|
||||||
|
|
||||||
static int kstack_depth_to_print = 24;
|
int kstack_depth_to_print = 24;
|
||||||
#ifdef CONFIG_STACK_UNWIND
|
#ifdef CONFIG_STACK_UNWIND
|
||||||
static int call_trace = 1;
|
static int call_trace = 1;
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -108,7 +108,7 @@ static inline void preempt_conditional_cli(struct pt_regs *regs)
|
||||||
preempt_enable_no_resched();
|
preempt_enable_no_resched();
|
||||||
}
|
}
|
||||||
|
|
||||||
static int kstack_depth_to_print = 12;
|
int kstack_depth_to_print = 12;
|
||||||
#ifdef CONFIG_STACK_UNWIND
|
#ifdef CONFIG_STACK_UNWIND
|
||||||
static int call_trace = 1;
|
static int call_trace = 1;
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef _ASM_STACKTRACE_H
|
#ifndef _ASM_STACKTRACE_H
|
||||||
#define _ASM_STACKTRACE_H 1
|
#define _ASM_STACKTRACE_H 1
|
||||||
|
|
||||||
|
extern int kstack_depth_to_print;
|
||||||
|
|
||||||
/* Generic stack tracer with callbacks */
|
/* Generic stack tracer with callbacks */
|
||||||
|
|
||||||
struct stacktrace_ops {
|
struct stacktrace_ops {
|
||||||
|
|
|
@ -54,6 +54,7 @@ extern int proc_nr_files(ctl_table *table, int write, struct file *filp,
|
||||||
|
|
||||||
#ifdef CONFIG_X86
|
#ifdef CONFIG_X86
|
||||||
#include <asm/nmi.h>
|
#include <asm/nmi.h>
|
||||||
|
#include <asm/stacktrace.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_SYSCTL)
|
#if defined(CONFIG_SYSCTL)
|
||||||
|
@ -707,6 +708,14 @@ static ctl_table kern_table[] = {
|
||||||
.mode = 0444,
|
.mode = 0444,
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.ctl_name = CTL_UNNUMBERED,
|
||||||
|
.procname = "kstack_depth_to_print",
|
||||||
|
.data = &kstack_depth_to_print,
|
||||||
|
.maxlen = sizeof(int),
|
||||||
|
.mode = 0644,
|
||||||
|
.proc_handler = &proc_dointvec,
|
||||||
|
},
|
||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_MMU)
|
#if defined(CONFIG_MMU)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue