forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
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.10-2' of git://git.lwn.net/linux
Pull documentation fixes from Jonathan Corbet: "A handful of late-arriving documentation fixes" * tag 'docs-5.10-2' of git://git.lwn.net/linux: docs: Add two missing entries in vm sysctl index docs/vm: trivial fixes to several spelling mistakes docs: submitting-patches: describe preserving review/test tags Documentation: Chinese translation of Documentation/arm64/hugetlbpage.rst Documentation: x86: fix a missing word in x86_64/mm.rst. docs: driver-api: remove a duplicated index entry docs: lkdtm: Modernize and improve details docs: deprecated.rst: Expand str*cpy() replacement notes docs/cpu-load: format the example code.
- Loading branch information
Showing
14 changed files
with
154 additions
and
77 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
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 |
---|---|---|
@@ -1,3 +1,5 @@ | ||
.. _hugetlbpage_index: | ||
|
||
==================== | ||
HugeTLBpage on ARM64 | ||
==================== | ||
|
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 |
---|---|---|
|
@@ -77,7 +77,6 @@ available subsections can be seen below. | |
console | ||
dcdbas | ||
eisa | ||
ipmb | ||
isa | ||
isapnp | ||
io-mapping | ||
|
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 |
---|---|---|
@@ -1,48 +1,58 @@ | ||
=============== | ||
Provoke crashes | ||
=============== | ||
.. SPDX-License-Identifier: GPL-2.0 | ||
The lkdtm module provides an interface to crash or injure the kernel at | ||
predefined crashpoints to evaluate the reliability of crash dumps obtained | ||
using different dumping solutions. The module uses KPROBEs to instrument | ||
crashing points, but can also crash the kernel directly without KRPOBE | ||
support. | ||
============================================================ | ||
Provoking crashes with Linux Kernel Dump Test Module (LKDTM) | ||
============================================================ | ||
|
||
The lkdtm module provides an interface to disrupt (and usually crash) | ||
the kernel at predefined code locations to evaluate the reliability of | ||
the kernel's exception handling and to test crash dumps obtained using | ||
different dumping solutions. The module uses KPROBEs to instrument the | ||
trigger location, but can also trigger the kernel directly without KPROBE | ||
support via debugfs. | ||
|
||
You can provide the way either through module arguments when inserting | ||
the module, or through a debugfs interface. | ||
You can select the location of the trigger ("crash point name") and the | ||
type of action ("crash point type") either through module arguments when | ||
inserting the module, or through the debugfs interface. | ||
|
||
Usage:: | ||
|
||
insmod lkdtm.ko [recur_count={>0}] cpoint_name=<> cpoint_type=<> | ||
[cpoint_count={>0}] | ||
|
||
recur_count | ||
Recursion level for the stack overflow test. Default is 10. | ||
Recursion level for the stack overflow test. By default this is | ||
dynamically calculated based on kernel configuration, with the | ||
goal of being just large enough to exhaust the kernel stack. The | ||
value can be seen at `/sys/module/lkdtm/parameters/recur_count`. | ||
|
||
cpoint_name | ||
Crash point where the kernel is to be crashed. It can be | ||
Where in the kernel to trigger the action. It can be | ||
one of INT_HARDWARE_ENTRY, INT_HW_IRQ_EN, INT_TASKLET_ENTRY, | ||
FS_DEVRW, MEM_SWAPOUT, TIMERADD, SCSI_DISPATCH_CMD, | ||
IDE_CORE_CP, DIRECT | ||
IDE_CORE_CP, or DIRECT | ||
|
||
cpoint_type | ||
Indicates the action to be taken on hitting the crash point. | ||
It can be one of PANIC, BUG, EXCEPTION, LOOP, OVERFLOW, | ||
CORRUPT_STACK, UNALIGNED_LOAD_STORE_WRITE, OVERWRITE_ALLOCATION, | ||
WRITE_AFTER_FREE, | ||
These are numerous, and best queried directly from debugfs. Some | ||
of the common ones are PANIC, BUG, EXCEPTION, LOOP, and OVERFLOW. | ||
See the contents of `/sys/kernel/debug/provoke-crash/DIRECT` for | ||
a complete list. | ||
|
||
cpoint_count | ||
Indicates the number of times the crash point is to be hit | ||
to trigger an action. The default is 10. | ||
before triggering the action. The default is 10 (except for | ||
DIRECT, which always fires immediately). | ||
|
||
You can also induce failures by mounting debugfs and writing the type to | ||
<mountpoint>/provoke-crash/<crashpoint>. E.g.:: | ||
<debugfs>/provoke-crash/<crashpoint>. E.g.:: | ||
|
||
mount -t debugfs debugfs /mnt | ||
echo EXCEPTION > /mnt/provoke-crash/INT_HARDWARE_ENTRY | ||
mount -t debugfs debugfs /sys/kernel/debug | ||
echo EXCEPTION > /sys/kernel/debug/provoke-crash/INT_HARDWARE_ENTRY | ||
|
||
The special file `DIRECT` will induce the action directly without KPROBE | ||
instrumentation. This mode is the only one available when the module is | ||
built for a kernel without KPROBEs support:: | ||
|
||
A special file is `DIRECT` which will induce the crash directly without | ||
KPROBE instrumentation. This mode is the only one available when the module | ||
is built on a kernel without KPROBEs support. | ||
# Instead of having a BUG kill your shell, have it kill "cat": | ||
cat <(echo WRITE_RO) >/sys/kernel/debug/provoke-crash/DIRECT |
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 |
---|---|---|
@@ -0,0 +1,45 @@ | ||
.. include:: ../disclaimer-zh_CN.rst | ||
|
||
:Original: :ref:`Documentation/arm64/hugetlbpage.rst <hugetlbpage_index>` | ||
|
||
Translator: Bailu Lin <[email protected]> | ||
|
||
===================== | ||
ARM64中的 HugeTLBpage | ||
===================== | ||
|
||
大页依靠有效利用 TLBs 来提高地址翻译的性能。这取决于以下 | ||
两点 - | ||
|
||
- 大页的大小 | ||
- TLBs 支持的条目大小 | ||
|
||
ARM64 接口支持2种大页方式。 | ||
|
||
1) pud/pmd 级别的块映射 | ||
----------------------- | ||
|
||
这是常规大页,他们的 pmd 或 pud 页面表条目指向一个内存块。 | ||
不管 TLB 中支持的条目大小如何,块映射可以减少翻译大页地址 | ||
所需遍历的页表深度。 | ||
|
||
2) 使用连续位 | ||
------------- | ||
|
||
架构中转换页表条目(D4.5.3, ARM DDI 0487C.a)中提供一个连续 | ||
位告诉 MMU 这个条目是一个连续条目集的一员,它可以被缓存在单 | ||
个 TLB 条目中。 | ||
|
||
在 Linux 中连续位用来增加 pmd 和 pte(最后一级)级别映射的大 | ||
小。受支持的连续页表条目数量因页面大小和页表级别而异。 | ||
|
||
|
||
支持以下大页尺寸配置 - | ||
|
||
====== ======== ==== ======== === | ||
- CONT PTE PMD CONT PMD PUD | ||
====== ======== ==== ======== === | ||
4K: 64K 2M 32M 1G | ||
16K: 2M 32M 1G | ||
64K: 2M 512M 16G | ||
====== ======== ==== ======== === |
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 |
---|---|---|
|
@@ -14,3 +14,4 @@ ARM64 架构 | |
:maxdepth: 2 | ||
|
||
amu | ||
hugetlbpage |
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
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