xref: /linux/Documentation/admin-guide/sysctl/debug.rst (revision 5181afcdf99527dd92a88f80fc4d0d8013e1b510)
1*6801cc49SShubham Chakraborty================
2*6801cc49SShubham Chakraborty/proc/sys/debug/
3*6801cc49SShubham Chakraborty================
4*6801cc49SShubham Chakraborty
5*6801cc49SShubham ChakrabortyThese files show up in ``/proc/sys/debug/``, depending on the
6*6801cc49SShubham Chakrabortykernel configuration:
7*6801cc49SShubham Chakraborty
8*6801cc49SShubham Chakraborty.. contents:: :local:
9*6801cc49SShubham Chakraborty
10*6801cc49SShubham Chakrabortyexception-trace
11*6801cc49SShubham Chakraborty===============
12*6801cc49SShubham Chakraborty
13*6801cc49SShubham ChakrabortyThis flag controls whether the kernel prints information about unhandled
14*6801cc49SShubham Chakrabortysignals (like segmentation faults) to the kernel log (``dmesg``).
15*6801cc49SShubham Chakraborty
16*6801cc49SShubham Chakraborty- ``0``: Unhandled signals are not traced.
17*6801cc49SShubham Chakraborty- ``1``: Information about unhandled signals is printed.
18*6801cc49SShubham Chakraborty
19*6801cc49SShubham ChakrabortyThe default value is ``1`` on most architectures (like x86, MIPS, RISC-V),
20*6801cc49SShubham Chakrabortybut it is ``0`` on **arm64**.
21*6801cc49SShubham Chakraborty
22*6801cc49SShubham ChakrabortyThe actual information printed and the context provided varies
23*6801cc49SShubham Chakrabortysignificantly depending on the CPU architecture. For example:
24*6801cc49SShubham Chakraborty
25*6801cc49SShubham Chakraborty- On **x86**, it typically prints the instruction pointer (IP), error
26*6801cc49SShubham Chakraborty  code, and address that caused a page fault.
27*6801cc49SShubham Chakraborty- On **PowerPC**, it may print the next instruction pointer (NIP),
28*6801cc49SShubham Chakraborty  link register (LR), and other relevant registers.
29*6801cc49SShubham Chakraborty
30*6801cc49SShubham ChakrabortyWhen enabled, this feature is often rate-limited to prevent the kernel
31*6801cc49SShubham Chakrabortylog from being flooded during a crash loop.
32*6801cc49SShubham Chakraborty
33*6801cc49SShubham Chakrabortykprobes-optimization
34*6801cc49SShubham Chakraborty====================
35*6801cc49SShubham Chakraborty
36*6801cc49SShubham ChakrabortyThis flag enables or disables the optimization of Kprobes on certain
37*6801cc49SShubham Chakrabortyarchitectures (like x86).
38*6801cc49SShubham Chakraborty
39*6801cc49SShubham Chakraborty- ``0``: Kprobes optimization is turned off.
40*6801cc49SShubham Chakraborty- ``1``: Kprobes optimization is turned on (default).
41*6801cc49SShubham Chakraborty
42*6801cc49SShubham ChakrabortyFor more details on Kprobes and its optimization, please refer to
43*6801cc49SShubham ChakrabortyDocumentation/trace/kprobes.rst.
44*6801cc49SShubham Chakraborty
45*6801cc49SShubham ChakrabortyCopyright (c) 2026, Shubham Chakraborty <chakrabortyshubham66@gmail.com>
46*6801cc49SShubham Chakraborty
47*6801cc49SShubham ChakrabortyFor general info and legal blurb, please look in
48*6801cc49SShubham ChakrabortyDocumentation/admin-guide/sysctl/index.rst.
49*6801cc49SShubham Chakraborty
50*6801cc49SShubham Chakraborty.. See scripts/check-sysctl-docs to keep this up to date:
51*6801cc49SShubham Chakraborty.. scripts/check-sysctl-docs -vtable="debug" \
52*6801cc49SShubham Chakraborty..         $(git grep -l register_sysctl_)
53