Commit f2b220ef authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'docs-6.1-2' of git://git.lwn.net/linux

Pull documentation fixes from Jonathan Corbet:
 "A handful of relatively simple documentation fixes, plus a set of
  patches catching the Chinese translation up with the front-page
  rework"

* tag 'docs-6.1-2' of git://git.lwn.net/linux:
  Documentation: rtla: Correct command line example
  docs/zh_CN: add a man-pages link to zh_CN/index.rst
  docs/zh_CN: Rewrite the Chinese translation front page
  docs/zh_CN: add zh_CN/arch.rst
  docs/zh_CN: promote the title of zh_CN/process/index.rst
  docs/zh_CN: Update the translation of page_owner to 6.0-rc7
  docs/zh_CN: Update the translation of ksm to 6.0-rc7
  docs/howto: Replace abundoned URL of gmane.org
  Documentation: ubifs: Fix compression idiom
  Documentation/mm/page_owner.rst: delete frequently changing experimental data
  docs/zh_CN: Fix build warning
  docs: ftrace: Correct access mode
parents 66ae0436 877d95dc
...@@ -59,7 +59,7 @@ differences. ...@@ -59,7 +59,7 @@ differences.
* JFFS2 is a write-through file-system, while UBIFS supports write-back, * JFFS2 is a write-through file-system, while UBIFS supports write-back,
which makes UBIFS much faster on writes. which makes UBIFS much faster on writes.
Similarly to JFFS2, UBIFS supports on-the-flight compression which makes Similarly to JFFS2, UBIFS supports on-the-fly compression which makes
it possible to fit quite a lot of data to the flash. it possible to fit quite a lot of data to the flash.
Similarly to JFFS2, UBIFS is tolerant of unclean reboots and power-cuts. Similarly to JFFS2, UBIFS is tolerant of unclean reboots and power-cuts.
......
...@@ -38,22 +38,10 @@ not affect to allocation performance, especially if the static keys jump ...@@ -38,22 +38,10 @@ not affect to allocation performance, especially if the static keys jump
label patching functionality is available. Following is the kernel's code label patching functionality is available. Following is the kernel's code
size change due to this facility. size change due to this facility.
- Without page owner:: Although enabling page owner increases kernel size by several kilobytes,
most of this code is outside page allocator and its hot path. Building
text data bss dec hex filename the kernel with page owner and turning it on if needed would be great
48392 2333 644 51369 c8a9 mm/page_alloc.o option to debug kernel memory problem.
- With page owner::
text data bss dec hex filename
48800 2445 644 51889 cab1 mm/page_alloc.o
6662 108 29 6799 1a8f mm/page_owner.o
1025 8 8 1041 411 mm/page_ext.o
Although, roughly, 8 KB code is added in total, page_alloc.o increase by
520 bytes and less than half of it is in hotpath. Building the kernel with
page owner and turning it on if needed would be great option to debug
kernel memory problem.
There is one notice that is caused by implementation detail. page owner There is one notice that is caused by implementation detail. page owner
stores information into the memory from struct page extension. This memory stores information into the memory from struct page extension. This memory
......
...@@ -379,7 +379,7 @@ to subscribe and unsubscribe from the list can be found at: ...@@ -379,7 +379,7 @@ to subscribe and unsubscribe from the list can be found at:
There are archives of the mailing list on the web in many different There are archives of the mailing list on the web in many different
places. Use a search engine to find these archives. For example: places. Use a search engine to find these archives. For example:
http://dir.gmane.org/gmane.linux.kernel https://lore.kernel.org/lkml/
It is highly recommended that you search the archives about the topic It is highly recommended that you search the archives about the topic
you want to bring up, before you post it to the list. A lot of things you want to bring up, before you post it to the list. A lot of things
......
...@@ -39,7 +39,7 @@ higher than *30 us*. It is also set to stop the session if a *Thread* timer ...@@ -39,7 +39,7 @@ higher than *30 us*. It is also set to stop the session if a *Thread* timer
latency higher than *30 us* is hit. Finally, it is set to save the trace latency higher than *30 us* is hit. Finally, it is set to save the trace
buffer if the stop condition is hit:: buffer if the stop condition is hit::
[root@alien ~]# rtla timerlat top -s 30 -t 30 -T [root@alien ~]# rtla timerlat top -s 30 -T 30 -t
Timer Latency Timer Latency
0 00:00:59 | IRQ Timer Latency (us) | Thread Timer Latency (us) 0 00:00:59 | IRQ Timer Latency (us) | Thread Timer Latency (us)
CPU COUNT | cur min avg max | cur min avg max CPU COUNT | cur min avg max | cur min avg max
......
...@@ -564,7 +564,7 @@ of ftrace. Here is a list of some of the key files: ...@@ -564,7 +564,7 @@ of ftrace. Here is a list of some of the key files:
start:: start::
trace_fd = open("trace_marker", WR_ONLY); trace_fd = open("trace_marker", O_WRONLY);
Note: Writing into the trace_marker file can also initiate triggers Note: Writing into the trace_marker file can also initiate triggers
that are written into /sys/kernel/tracing/events/ftrace/print/trigger that are written into /sys/kernel/tracing/events/ftrace/print/trigger
......
...@@ -394,7 +394,7 @@ trovati al sito: ...@@ -394,7 +394,7 @@ trovati al sito:
Ci sono diversi archivi della lista di discussione. Usate un qualsiasi motore Ci sono diversi archivi della lista di discussione. Usate un qualsiasi motore
di ricerca per trovarli. Per esempio: di ricerca per trovarli. Per esempio:
http://dir.gmane.org/gmane.linux.kernel https://lore.kernel.org/lkml/
É caldamente consigliata una ricerca in questi archivi sul tema che volete É caldamente consigliata una ricerca in questi archivi sul tema che volete
sollevare, prima di pubblicarlo sulla lista. Molte cose sono già state sollevare, prima di pubblicarlo sulla lista. Molte cose sono già state
......
...@@ -410,7 +410,7 @@ https://bugzilla.kernel.org に行ってください。もし今後のバグレ ...@@ -410,7 +410,7 @@ https://bugzilla.kernel.org に行ってください。もし今後のバグレ
このメーリングリストのアーカイブは web 上の多数の場所に存在します。こ このメーリングリストのアーカイブは web 上の多数の場所に存在します。こ
れらのアーカイブを探すにはサーチエンジンを使いましょう。例えば- れらのアーカイブを探すにはサーチエンジンを使いましょう。例えば-
http://dir.gmane.org/gmane.linux.kernel https://lore.kernel.org/lkml/
リストに投稿する前にすでにその話題がアーカイブに存在するかどうかを検索 リストに投稿する前にすでにその話題がアーカイブに存在するかどうかを検索
することを是非やってください。多数の事がすでに詳細に渡って議論されてお することを是非やってください。多数の事がすでに詳細に渡って議論されてお
......
...@@ -386,7 +386,7 @@ https://bugzilla.kernel.org 를 체크하고자 할 수도 있다; 소수의 커 ...@@ -386,7 +386,7 @@ https://bugzilla.kernel.org 를 체크하고자 할 수도 있다; 소수의 커
웹상의 많은 다른 곳에도 메일링 리스트의 아카이브들이 있다. 웹상의 많은 다른 곳에도 메일링 리스트의 아카이브들이 있다.
이러한 아카이브들을 찾으려면 검색 엔진을 사용하라. 예를 들어: 이러한 아카이브들을 찾으려면 검색 엔진을 사용하라. 예를 들어:
http://dir.gmane.org/gmane.linux.kernel https://lore.kernel.org/lkml/
여러분이 새로운 문제에 관해 리스트에 올리기 전에 말하고 싶은 주제에 관한 여러분이 새로운 문제에 관해 리스트에 올리기 전에 말하고 싶은 주제에 관한
것을 아카이브에서 먼저 찾아보기를 강력히 권장한다. 이미 상세하게 토론된 많은 것을 아카이브에서 먼저 찾아보기를 강력히 권장한다. 이미 상세하게 토론된 많은
......
.. SPDX-License-Identifier: GPL-2.0
处理器体系结构
==============
以下文档提供了具体架构实现的编程细节。
.. toctree::
:maxdepth: 2
mips/index
arm64/index
riscv/index
openrisc/index
parisc/index
loongarch/index
TODOList:
* arm/index
* ia64/index
* m68k/index
* nios2/index
* powerpc/index
* s390/index
* sh/index
* sparc/index
* x86/index
* xtensa/index
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/Devicetree/changesets.rst :Original: Documentation/devicetree/changesets.rst
:翻译: :翻译:
......
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/Devicetree/dynamic-resolution-notes.rst :Original: Documentation/devicetree/dynamic-resolution-notes.rst
:翻译: :翻译:
......
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/Devicetree/kernel-api.rst :Original: Documentation/devicetree/kernel-api.rst
:翻译: :翻译:
......
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
.. include:: ../disclaimer-zh_CN.rst .. include:: ../disclaimer-zh_CN.rst
:Original: Documentation/Devicetree/overlay-notes.rst :Original: Documentation/devicetree/overlay-notes.rst
:翻译: :翻译:
......
...@@ -26,165 +26,100 @@ ...@@ -26,165 +26,100 @@
顺便说下,中文文档也需要遵守内核编码风格,风格中中文和英文的主要不同就是中文 顺便说下,中文文档也需要遵守内核编码风格,风格中中文和英文的主要不同就是中文
的字符标点占用两个英文字符宽度, 所以,当英文要求不要超过每行100个字符时, 的字符标点占用两个英文字符宽度, 所以,当英文要求不要超过每行100个字符时,
中文就不要超过50个字符。另外,也要注意'-','=' 等符号与相关标题的对齐。在将 中文就不要超过50个字符。另外,也要注意'-','=' 等符号与相关标题的对齐。在将
补丁提交到社区之前,一定要进行必要的checkpatch.pl检查和编译测试。 补丁提交到社区之前,一定要进行必要的 ``checkpatch.pl`` 检查和编译测试。
许可证文档 与Linux 内核社区一起工作
---------- ------------------------
下面的文档介绍了Linux内核源代码的许可证(GPLv2)、如何在源代码树中正确标记
单个文件的许可证、以及指向完整许可证文本的链接。
* Documentation/translations/zh_CN/process/license-rules.rst 与内核开发社区进行协作并将工作推向上游的基本指南。
用户文档
--------
下面的手册是为内核用户编写的——即那些试图让它在给定系统上以最佳方式工作的
用户。
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 1
admin-guide/index process/development-process
process/submitting-patches
TODOList: 行为准则 <process/code-of-conduct>
maintainer/index
* kbuild/index 完整开发流程文档 <process/index>
固件相关文档 内部API文档
------------ -----------
下列文档描述了内核需要的平台固件相关信息 开发人员使用的内核内部交互接口手册
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 1
devicetree/index core-api/index
driver-api/index
内核中的锁 <locking/index>
TODOList: TODOList:
* firmware-guide/index * subsystem-apis
应用程序开发人员文档
--------------------
用户空间API手册涵盖了描述应用程序开发人员可见内核接口方面的文档。
TODOlist: 开发工具和流程
--------------
* userspace-api/index 为所有内核开发人员提供有用信息的各种其他手册。
内核开发简介
------------
这些手册包含有关如何开发内核的整体信息。内核社区非常庞大,一年下来有数千名
开发人员做出贡献。与任何大型社区一样,知道如何完成任务将使得更改合并的过程
变得更加容易。
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 1
process/index process/license-rules
dev-tools/index
doc-guide/index doc-guide/index
dev-tools/index
dev-tools/testing-overview
kernel-hacking/index kernel-hacking/index
maintainer/index
TODOList: TODOList:
* trace/index * trace/index
* fault-injection/index * fault-injection/index
* livepatch/index * livepatch/index
* rust/index
内核API文档 面向用户的文档
----------- --------------
以下手册从内核开发人员的角度详细介绍了特定的内核子系统是如何工作的。这里的 下列手册针对
大部分信息都是直接从内核源代码获取的,并根据需要添加补充材料(或者至少是在 希望内核在给定系统上以最佳方式工作的*用户*,
我们设法添加的时候——可能不是所有的都是有需要的) 和查找内核用户空间API信息的程序开发人员
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 1
core-api/index admin-guide/index
driver-api/index admin-guide/reporting-issues.rst
locking/index
accounting/index
cpu-freq/index
iio/index
infiniband/index
power/index
virt/index
sound/index
filesystems/index
scheduler/index
mm/index
peci/index
PCI/index
TODOList: TODOList:
* block/index * 内核构建系统 <kbuild/index>
* cdrom/index * 用户空间工具 <tools/index>
* ide/index * userspace-api/index
* fb/index
* fpga/index
* hid/index
* i2c/index
* isdn/index
* leds/index
* netlabel/index
* networking/index
* pcmcia/index
* target/index
* timers/index
* spi/index
* w1/index
* watchdog/index
* input/index
* hwmon/index
* gpu/index
* security/index
* crypto/index
* bpf/index
* usb/index
* scsi/index
* misc-devices/index
* mhi/index
体系结构无关文档
----------------
TODOList: 也可参考独立于内核文档的 `Linux 手册页 <https://www.kernel.org/doc/man-pages/>`_ 。
* asm-annotations 固件相关文档
------------
特定体系结构文档 下列文档描述了内核需要的平台固件相关信息。
----------------
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
mips/index devicetree/index
arm64/index
riscv/index
openrisc/index
parisc/index
loongarch/index
TODOList: TODOList:
* arm/index * firmware-guide/index
* ia64/index
* m68k/index 体系结构文档
* nios2/index ------------
* powerpc/index
* s390/index .. toctree::
* sh/index :maxdepth: 2
* sparc/index
* x86/index arch
* xtensa/index
其他文档 其他文档
-------- --------
...@@ -195,9 +130,9 @@ TODOList: ...@@ -195,9 +130,9 @@ TODOList:
TODOList: TODOList:
* staging/index * staging/index
* watch_queue
目录和表格
索引和表格
---------- ----------
* :ref:`genindex` * :ref:`genindex`
......
...@@ -30,7 +30,7 @@ KSM的用户空间的接口在Documentation/translations/zh_CN/admin-guide/mm/ks ...@@ -30,7 +30,7 @@ KSM的用户空间的接口在Documentation/translations/zh_CN/admin-guide/mm/ks
KSM维护着稳定树中的KSM页的逆映射信息。 KSM维护着稳定树中的KSM页的逆映射信息。
当KSM页面的共享数小于 ``max_page_sharing`` 的虚拟内存区域(VMAs)时,则代表了 当KSM页面的共享数小于 ``max_page_sharing`` 的虚拟内存区域(VMAs)时,则代表了
KSM页的稳定树其中的节点指向了一个rmap_item结构体类型的列表。同时,这个KSM页 KSM页的稳定树其中的节点指向了一个ksm_rmap_item结构体类型的列表。同时,这个KSM页
的 ``page->mapping`` 指向了该稳定树节点。 的 ``page->mapping`` 指向了该稳定树节点。
如果共享数超过了阈值,KSM将给稳定树添加第二个维度。稳定树就变成链接一个或多 如果共享数超过了阈值,KSM将给稳定树添加第二个维度。稳定树就变成链接一个或多
......
...@@ -74,15 +74,19 @@ page owner在默认情况下是禁用的。所以,如果你想使用它,你 ...@@ -74,15 +74,19 @@ page owner在默认情况下是禁用的。所以,如果你想使用它,你
cat /sys/kernel/debug/page_owner > page_owner_full.txt cat /sys/kernel/debug/page_owner > page_owner_full.txt
./page_owner_sort page_owner_full.txt sorted_page_owner.txt ./page_owner_sort page_owner_full.txt sorted_page_owner.txt
``page_owner_full.txt`` 的一般输出情况如下(输出信息无翻译价值):: ``page_owner_full.txt`` 的一般输出情况如下::
Page allocated via order XXX, ... Page allocated via order XXX, ...
PFN XXX ... PFN XXX ...
// Detailed stack // 栈详情
Page allocated via order XXX, ... Page allocated via order XXX, ...
PFN XXX ... PFN XXX ...
// Detailed stack // 栈详情
默认情况下,它将以一个给定的pfn开始,做完整的pfn转储,且page_owner支持fseek。
FILE *fp = fopen("/sys/kernel/debug/page_owner", "r");
fseek(fp, pfn_start, SEEK_SET);
``page_owner_sort`` 工具忽略了 ``PFN`` 行,将剩余的行放在buf中,使用regexp提 ``page_owner_sort`` 工具忽略了 ``PFN`` 行,将剩余的行放在buf中,使用regexp提
取页序值,计算buf的次数和页数,最后根据参数进行排序。 取页序值,计算buf的次数和页数,最后根据参数进行排序。
......
...@@ -306,7 +306,7 @@ bugzilla.kernel.org是Linux内核开发者们用来跟踪内核Bug的网站。 ...@@ -306,7 +306,7 @@ bugzilla.kernel.org是Linux内核开发者们用来跟踪内核Bug的网站。
网上很多地方都有这个邮件列表的存档(archive)。可以使用搜索引擎来找到这些 网上很多地方都有这个邮件列表的存档(archive)。可以使用搜索引擎来找到这些
存档。比如: 存档。比如:
http://dir.gmane.org/gmane.linux.kernel https://lore.kernel.org/lkml/
在发信之前,我们强烈建议你先在存档中搜索你想要讨论的问题。很多已经被详细 在发信之前,我们强烈建议你先在存档中搜索你想要讨论的问题。很多已经被详细
讨论过的问题只在邮件列表的存档中可以找到。 讨论过的问题只在邮件列表的存档中可以找到。
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
.. _cn_process_index: .. _cn_process_index:
========================
与Linux 内核社区一起工作 与Linux 内核社区一起工作
======================== ========================
......
...@@ -309,7 +309,7 @@ bugzilla.kernel.org是Linux內核開發者們用來跟蹤內核Bug的網站。 ...@@ -309,7 +309,7 @@ bugzilla.kernel.org是Linux內核開發者們用來跟蹤內核Bug的網站。
網上很多地方都有這個郵件列表的存檔(archive)。可以使用搜尋引擎來找到這些 網上很多地方都有這個郵件列表的存檔(archive)。可以使用搜尋引擎來找到這些
存檔。比如: 存檔。比如:
http://dir.gmane.org/gmane.linux.kernel https://lore.kernel.org/lkml/
在發信之前,我們強烈建議你先在存檔中搜索你想要討論的問題。很多已經被詳細 在發信之前,我們強烈建議你先在存檔中搜索你想要討論的問題。很多已經被詳細
討論過的問題只在郵件列表的存檔中可以找到。 討論過的問題只在郵件列表的存檔中可以找到。
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment