Commit ac2b4687 authored by Changbin Du's avatar Changbin Du Committed by Jonathan Corbet
Browse files

Documentation: x86: convert kernel-stacks to reST



This converts the plain text documentation to reStructuredText format and
add it to Sphinx TOC tree. No essential content change.

Signed-off-by: default avatarChangbin Du <changbin.du@gmail.com>
Reviewed-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent 06955392
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -11,3 +11,4 @@ x86-specific Documentation
   boot
   boot
   topology
   topology
   exception-tables
   exception-tables
   kernel-stacks
+13 −7
Original line number Original line Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

=============
Kernel Stacks
=============

Kernel stacks on x86-64 bit
Kernel stacks on x86-64 bit
---------------------------
===========================


Most of the text from Keith Owens, hacked by AK
Most of the text from Keith Owens, hacked by AK


@@ -57,7 +63,7 @@ IST events with the same code to be nested. However in most cases, the
stack size allocated to an IST assumes no nesting for the same code.
stack size allocated to an IST assumes no nesting for the same code.
If that assumption is ever broken then the stacks will become corrupt.
If that assumption is ever broken then the stacks will become corrupt.


The currently assigned IST stacks are :-
The currently assigned IST stacks are:


* DOUBLEFAULT_STACK.  EXCEPTION_STKSZ (PAGE_SIZE).
* DOUBLEFAULT_STACK.  EXCEPTION_STKSZ (PAGE_SIZE).


@@ -98,7 +104,7 @@ For more details see the Intel IA32 or AMD AMD64 architecture manuals.




Printing backtraces on x86
Printing backtraces on x86
--------------------------
==========================


The question about the '?' preceding function names in an x86 stacktrace
The question about the '?' preceding function names in an x86 stacktrace
keeps popping up, here's an indepth explanation. It helps if the reader
keeps popping up, here's an indepth explanation. It helps if the reader
@@ -108,7 +114,7 @@ arch/x86/kernel/dumpstack.c.
Adapted from Ingo's mail, Message-ID: <20150521101614.GA10889@gmail.com>:
Adapted from Ingo's mail, Message-ID: <20150521101614.GA10889@gmail.com>:


We always scan the full kernel stack for return addresses stored on
We always scan the full kernel stack for return addresses stored on
the kernel stack(s) [*], from stack top to stack bottom, and print out
the kernel stack(s) [1]_, from stack top to stack bottom, and print out
anything that 'looks like' a kernel text address.
anything that 'looks like' a kernel text address.


If it fits into the frame pointer chain, we print it without a question
If it fits into the frame pointer chain, we print it without a question
@@ -136,6 +142,6 @@ that look like kernel text addresses, so if debug information is wrong,
we still print out the real call chain as well - just with more question
we still print out the real call chain as well - just with more question
marks than ideal.
marks than ideal.


[*] For things like IRQ and IST stacks, we also scan those stacks, in
.. [1] For things like IRQ and IST stacks, we also scan those stacks, in
       the right order, and try to cross from one stack into another
       the right order, and try to cross from one stack into another
       reconstructing the call chain. This works most of the time.
       reconstructing the call chain. This works most of the time.