-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'docs-5.8' of git://git.lwn.net/linux
Pull documentation updates from Jonathan Corbet: "A fair amount of stuff this time around, dominated by yet another massive set from Mauro toward the completion of the RST conversion. I *really* hope we are getting close to the end of this. Meanwhile, those patches reach pretty far afield to update document references around the tree; there should be no actual code changes there. There will be, alas, more of the usual trivial merge conflicts. Beyond that we have more translations, improvements to the sphinx scripting, a number of additions to the sysctl documentation, and lots of fixes" * tag 'docs-5.8' of git://git.lwn.net/linux: (130 commits) Documentation: fixes to the maintainer-entry-profile template zswap: docs/vm: Fix typo accept_threshold_percent in zswap.rst tracing: Fix events.rst section numbering docs: acpi: fix old http link and improve document format docs: filesystems: add info about efivars content Documentation: LSM: Correct the basic LSM description mailmap: change email for Ricardo Ribalda docs: sysctl/kernel: document unaligned controls Documentation: admin-guide: update bug-hunting.rst docs: sysctl/kernel: document ngroups_max nvdimm: fixes to maintainter-entry-profile Documentation/features: Correct RISC-V kprobes support entry Documentation/features: Refresh the arch support status files Revert "docs: sysctl/kernel: document ngroups_max" docs: move locking-specific documents to locking/ docs: move digsig docs to the security book docs: move the kref doc into the core-api book docs: add IRQ documentation at the core-api book docs: debugging-via-ohci1394.txt: add it to the core-api book docs: fix references for ipmi.rst file ...
- Loading branch information
Showing
267 changed files
with
6,317 additions
and
4,354 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -152,6 +152,7 @@ Krzysztof Kozlowski <[email protected]> <[email protected]> | |
Kuninori Morimoto <[email protected]> | ||
Leon Romanovsky <[email protected]> <[email protected]> | ||
Leon Romanovsky <[email protected]> <[email protected]> | ||
Leonardo Bras <[email protected]> <[email protected]> | ||
Leonid I Ananiev <[email protected]> | ||
Linas Vepstas <[email protected]> | ||
Linus Lüssing <[email protected]> <[email protected]> | ||
|
@@ -234,7 +235,9 @@ Ralf Baechle <[email protected]> | |
Ralf Wildenhues <[email protected]> | ||
Randy Dunlap <[email protected]> <[email protected]> | ||
Rémi Denis-Courmont <[email protected]> | ||
Ricardo Ribalda Delgado <[email protected]> | ||
Ricardo Ribalda <[email protected]> <[email protected]> | ||
Ricardo Ribalda <[email protected]> <[email protected]> | ||
Ricardo Ribalda <[email protected]> Ricardo Ribalda Delgado <[email protected]> | ||
Ross Zwisler <[email protected]> <[email protected]> | ||
Rudolf Marek <[email protected]> | ||
Rui Saraiva <[email protected]> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -54,7 +54,7 @@ Date: October 2002 | |
Contact: Linux Memory Management list <[email protected]> | ||
Description: | ||
Provides information about the node's distribution and memory | ||
utilization. Similar to /proc/meminfo, see Documentation/filesystems/proc.txt | ||
utilization. Similar to /proc/meminfo, see Documentation/filesystems/proc.rst | ||
|
||
What: /sys/devices/system/node/nodeX/numastat | ||
Date: October 2002 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -32,12 +32,13 @@ interrupt goes unhandled over time, they are tracked by the Linux kernel as | |
Spurious Interrupts. The IRQ will be disabled by the Linux kernel after it | ||
reaches a specific count with the error "nobody cared". This disabled IRQ | ||
now prevents valid usage by an existing interrupt which may happen to share | ||
the IRQ line. | ||
the IRQ line:: | ||
|
||
irq 19: nobody cared (try booting with the "irqpoll" option) | ||
CPU: 0 PID: 2988 Comm: irq/34-nipalk Tainted: 4.14.87-rt49-02410-g4a640ec-dirty #1 | ||
Hardware name: National Instruments NI PXIe-8880/NI PXIe-8880, BIOS 2.1.5f1 01/09/2020 | ||
Call Trace: | ||
|
||
<IRQ> | ||
? dump_stack+0x46/0x5e | ||
? __report_bad_irq+0x2e/0xb0 | ||
|
@@ -85,15 +86,18 @@ Mitigations | |
The mitigations take the form of PCI quirks. The preference has been to | ||
first identify and make use of a means to disable the routing to the PCH. | ||
In such a case a quirk to disable boot interrupt generation can be | ||
added.[1] | ||
added. [1]_ | ||
|
||
Intel® 6300ESB I/O Controller Hub | ||
Intel® 6300ESB I/O Controller Hub | ||
Alternate Base Address Register: | ||
BIE: Boot Interrupt Enable | ||
0 = Boot interrupt is enabled. | ||
1 = Boot interrupt is disabled. | ||
|
||
Intel® Sandy Bridge through Sky Lake based Xeon servers: | ||
== =========================== | ||
0 Boot interrupt is enabled. | ||
1 Boot interrupt is disabled. | ||
== =========================== | ||
|
||
Intel® Sandy Bridge through Sky Lake based Xeon servers: | ||
Coherent Interface Protocol Interrupt Control | ||
dis_intx_route2pch/dis_intx_route2ich/dis_intx_route2dmi2: | ||
When this bit is set. Local INTx messages received from the | ||
|
@@ -109,12 +113,12 @@ line by default. Therefore, on chipsets where this INTx routing cannot be | |
disabled, the Linux kernel will reroute the valid interrupt to its legacy | ||
interrupt. This redirection of the handler will prevent the occurrence of | ||
the spurious interrupt detection which would ordinarily disable the IRQ | ||
line due to excessive unhandled counts.[2] | ||
line due to excessive unhandled counts. [2]_ | ||
|
||
The config option X86_REROUTE_FOR_BROKEN_BOOT_IRQS exists to enable (or | ||
disable) the redirection of the interrupt handler to the PCH interrupt | ||
line. The option can be overridden by either pci=ioapicreroute or | ||
pci=noioapicreroute.[3] | ||
pci=noioapicreroute. [3]_ | ||
|
||
|
||
More Documentation | ||
|
@@ -127,19 +131,19 @@ into the evolution of its handling with chipsets. | |
Example of disabling of the boot interrupt | ||
------------------------------------------ | ||
|
||
Intel® 6300ESB I/O Controller Hub (Document # 300641-004US) | ||
- Intel® 6300ESB I/O Controller Hub (Document # 300641-004US) | ||
5.7.3 Boot Interrupt | ||
https://www.intel.com/content/dam/doc/datasheet/6300esb-io-controller-hub-datasheet.pdf | ||
|
||
Intel® Xeon® Processor E5-1600/2400/2600/4600 v3 Product Families | ||
Datasheet - Volume 2: Registers (Document # 330784-003) | ||
- Intel® Xeon® Processor E5-1600/2400/2600/4600 v3 Product Families | ||
Datasheet - Volume 2: Registers (Document # 330784-003) | ||
6.6.41 cipintrc Coherent Interface Protocol Interrupt Control | ||
https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xeon-e5-v3-datasheet-vol-2.pdf | ||
|
||
Example of handler rerouting | ||
---------------------------- | ||
|
||
Intel® 6700PXH 64-bit PCI Hub (Document # 302628) | ||
- Intel® 6700PXH 64-bit PCI Hub (Document # 302628) | ||
2.15.2 PCI Express Legacy INTx Support and Boot Interrupt | ||
https://www.intel.com/content/dam/doc/datasheet/6700pxh-64-bit-pci-hub-datasheet.pdf | ||
|
||
|
@@ -150,6 +154,6 @@ Cheers, | |
Sean V Kelley | ||
[email protected] | ||
|
||
[1] https://lore.kernel.org/r/[email protected]/ | ||
[2] https://lore.kernel.org/r/[email protected]/ | ||
[3] https://lore.kernel.org/r/[email protected]/ | ||
.. [1] https://lore.kernel.org/r/[email protected]/ | ||
.. [2] https://lore.kernel.org/r/[email protected]/ | ||
.. [3] https://lore.kernel.org/r/[email protected]/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -49,15 +49,19 @@ the issue, it may also contain the word **Oops**, as on this one:: | |
|
||
Despite being an **Oops** or some other sort of stack trace, the offended | ||
line is usually required to identify and handle the bug. Along this chapter, | ||
we'll refer to "Oops" for all kinds of stack traces that need to be analized. | ||
we'll refer to "Oops" for all kinds of stack traces that need to be analyzed. | ||
|
||
.. note:: | ||
If the kernel is compiled with ``CONFIG_DEBUG_INFO``, you can enhance the | ||
quality of the stack trace by using file:`scripts/decode_stacktrace.sh`. | ||
|
||
Modules linked in | ||
----------------- | ||
|
||
Modules that are tainted or are being loaded or unloaded are marked with | ||
"(...)", where the taint flags are described in | ||
file:`Documentation/admin-guide/tainted-kernels.rst`, "being loaded" is | ||
annotated with "+", and "being unloaded" is annotated with "-". | ||
|
||
``ksymoops`` is useless on 2.6 or upper. Please use the Oops in its original | ||
format (from ``dmesg``, etc). Ignore any references in this or other docs to | ||
"decoding the Oops" or "running it through ksymoops". | ||
If you post an Oops from 2.6+ that has been run through ``ksymoops``, | ||
people will just tell you to repost it. | ||
|
||
Where is the Oops message is located? | ||
------------------------------------- | ||
|
@@ -71,7 +75,7 @@ by running ``journalctl`` command. | |
Sometimes ``klogd`` dies, in which case you can run ``dmesg > file`` to | ||
read the data from the kernel buffers and save it. Or you can | ||
``cat /proc/kmsg > file``, however you have to break in to stop the transfer, | ||
``kmsg`` is a "never ending file". | ||
since ``kmsg`` is a "never ending file". | ||
|
||
If the machine has crashed so badly that you cannot enter commands or | ||
the disk is not available then you have three options: | ||
|
@@ -81,9 +85,9 @@ the disk is not available then you have three options: | |
planned for a crash. Alternatively, you can take a picture of | ||
the screen with a digital camera - not nice, but better than | ||
nothing. If the messages scroll off the top of the console, you | ||
may find that booting with a higher resolution (eg, ``vga=791``) | ||
may find that booting with a higher resolution (e.g., ``vga=791``) | ||
will allow you to read more of the text. (Caveat: This needs ``vesafb``, | ||
so won't help for 'early' oopses) | ||
so won't help for 'early' oopses.) | ||
|
||
(2) Boot with a serial console (see | ||
:ref:`Documentation/admin-guide/serial-console.rst <serial_console>`), | ||
|
@@ -104,7 +108,7 @@ Kernel source file. There are two methods for doing that. Usually, using | |
gdb | ||
^^^ | ||
|
||
The GNU debug (``gdb``) is the best way to figure out the exact file and line | ||
The GNU debugger (``gdb``) is the best way to figure out the exact file and line | ||
number of the OOPS from the ``vmlinux`` file. | ||
|
||
The usage of gdb works best on a kernel compiled with ``CONFIG_DEBUG_INFO``. | ||
|
@@ -165,7 +169,7 @@ If you have a call trace, such as:: | |
[<ffffffff8802770b>] :jbd:journal_stop+0x1be/0x1ee | ||
... | ||
|
||
this shows the problem likely in the :jbd: module. You can load that module | ||
this shows the problem likely is in the :jbd: module. You can load that module | ||
in gdb and list the relevant code:: | ||
|
||
$ gdb fs/jbd/jbd.ko | ||
|
@@ -199,8 +203,9 @@ in the kernel hacking menu of the menu configuration.) For example:: | |
You need to be at the top level of the kernel tree for this to pick up | ||
your C files. | ||
|
||
If you don't have access to the code you can also debug on some crash dumps | ||
e.g. crash dump output as shown by Dave Miller:: | ||
If you don't have access to the source code you can still debug some crash | ||
dumps using the following method (example crash dump output as shown by | ||
Dave Miller):: | ||
|
||
EIP is at +0x14/0x4c0 | ||
... | ||
|
@@ -230,6 +235,9 @@ e.g. crash dump output as shown by Dave Miller:: | |
mov 0x8(%ebp), %ebx ! %ebx = skb->sk | ||
mov 0x13c(%ebx), %eax ! %eax = inet_sk(sk)->opt | ||
|
||
file:`scripts/decodecode` can be used to automate most of this, depending | ||
on what CPU architecture is being debugged. | ||
|
||
Reporting the bug | ||
----------------- | ||
|
||
|
@@ -241,7 +249,7 @@ used for the development of the affected code. This can be done by using | |
the ``get_maintainer.pl`` script. | ||
|
||
For example, if you find a bug at the gspca's sonixj.c file, you can get | ||
their maintainers with:: | ||
its maintainers with:: | ||
|
||
$ ./scripts/get_maintainer.pl -f drivers/media/usb/gspca/sonixj.c | ||
Hans Verkuil <[email protected]> (odd fixer:GSPCA USB WEBCAM DRIVER,commit_signer:1/1=100%) | ||
|
@@ -253,16 +261,17 @@ their maintainers with:: | |
|
||
Please notice that it will point to: | ||
|
||
- The last developers that touched on the source code. On the above example, | ||
Tejun and Bhaktipriya (in this specific case, none really envolved on the | ||
development of this file); | ||
- The last developers that touched the source code (if this is done inside | ||
a git tree). On the above example, Tejun and Bhaktipriya (in this | ||
specific case, none really envolved on the development of this file); | ||
- The driver maintainer (Hans Verkuil); | ||
- The subsystem maintainer (Mauro Carvalho Chehab); | ||
- The driver and/or subsystem mailing list ([email protected]); | ||
- the Linux Kernel mailing list ([email protected]). | ||
|
||
Usually, the fastest way to have your bug fixed is to report it to mailing | ||
list used for the development of the code (linux-media ML) copying the driver maintainer (Hans). | ||
list used for the development of the code (linux-media ML) copying the | ||
driver maintainer (Hans). | ||
|
||
If you are totally stumped as to whom to send the report, and | ||
``get_maintainer.pl`` didn't provide you anything useful, send it to | ||
|
@@ -303,9 +312,9 @@ protection fault message can be simply cut out of the message files | |
and forwarded to the kernel developers. | ||
|
||
Two types of address resolution are performed by ``klogd``. The first is | ||
static translation and the second is dynamic translation. Static | ||
translation uses the System.map file in much the same manner that | ||
ksymoops does. In order to do static translation the ``klogd`` daemon | ||
static translation and the second is dynamic translation. | ||
Static translation uses the System.map file. | ||
In order to do static translation the ``klogd`` daemon | ||
must be able to find a system map file at daemon initialization time. | ||
See the klogd man page for information on how ``klogd`` searches for map | ||
files. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.