Document the procedure to obtain the debugging information
when the system deadlocks. Approved by: pjd (mentor)
This commit is contained in:
parent
36b60cd406
commit
283f123ffc
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=28089
1 changed files with 32 additions and 0 deletions
|
@ -821,6 +821,38 @@ Reading symbols from /sys/modules/linux/linux.ko...done.
|
||||||
on any configured console driver, including a serial
|
on any configured console driver, including a serial
|
||||||
console.</para>
|
console.</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="kerneldebug-deadlocks">
|
||||||
|
<title>Debugging the Deadlocks</title>
|
||||||
|
|
||||||
|
<para>You may experience so called deadlocks, the situation where
|
||||||
|
system stops doing useful work. To provide the helpful bug report
|
||||||
|
in this situation, you shall use ddb as described above. Please,
|
||||||
|
include the output of <command>ps</command> and
|
||||||
|
<command>trace</command> for suspected processes in the
|
||||||
|
report.</para>
|
||||||
|
|
||||||
|
<para>If possible, consider doing further investigation. Receipt
|
||||||
|
below is especially useful if you suspect deadlock occurs in the
|
||||||
|
VFS layer. Add the options
|
||||||
|
<programlisting>makeoptions DEBUG=-g
|
||||||
|
options INVARIANTS
|
||||||
|
options INVARIANT_SUPPORT
|
||||||
|
options WITNESS
|
||||||
|
options DEBUG_LOCKS
|
||||||
|
options DEBUG_VFS_LOCKS
|
||||||
|
options DIAGNOSTIC</programlisting>
|
||||||
|
|
||||||
|
to the kernel config. When deadlock occurs, in addition to the
|
||||||
|
output of the <command>ps</command> command, provide information
|
||||||
|
from the <command>show allpcpu</command>, <command>show
|
||||||
|
alllocks</command>, <command>show lockedvnods</command> and
|
||||||
|
<command>show alltrace</command>.</para>
|
||||||
|
|
||||||
|
<para>For threaded processes, to obtain meaningful backtraces, use
|
||||||
|
<command>thread thread-id</command> to switch to the thread
|
||||||
|
stack, and do backtrace with <command>where</command>.</para>
|
||||||
|
</sect1>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
Loading…
Reference in a new issue