From: Chen-Yu Yeh <chenyou910331@gmail.com>
To: Alex Shi <alexs@kernel.org>, Jonathan Corbet <corbet@lwn.net>
Cc: Weijie Yuan <wy@wyuan.org>, Dongliang Mu <dzm91@hust.edu.cn>,
Yanteng Si <si.yanteng@linux.dev>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Chen-Yu Yeh <chenyou910331@gmail.com>
Subject: [PATCH 24/25] docs/zh_TW: process: sync submit-checklist.rst with the English original
Date: Fri, 6 Nov 2026 19:31:39 +0800 [thread overview]
Message-ID: <20261106113142.706783-25-chenyou910331@gmail.com> (raw)
In-Reply-To: <20261106113142.706783-1-chenyou910331@gmail.com>
The translation carries no "update to commit" marker. It was converted
from zh_CN and, apart from a few later spot fixes (CONFIG_SLUB_DEBUG,
the abi.rst reference), still follows the flat 24-item list from before
2021. Bring it in line with the current English text:
- regroup the items into the "Review your code", "Review Kconfig
changes", "Provide documentation", "Check your code with tools",
"Build your code" and "Test your code" sections, following
commit 5969fbf30274 ("docs: submit-checklist: structure by category")
and commit 47c67ec1e8ef ("docs: submit-checklist: use subheadings")
- fold the ppc64 item into the cross-compile item and replace it with
the word size and endianness note from commit 2783096fb1dd ("docs:
submit-checklist: Expand on build tests against different word sizes")
- test against the latest linux-next tag instead of the -mm patchset,
turn the checkstack note block into a sentence, and drop the htmldocs
sentence from the kernel-doc item, as in commit 5969fbf30274 ("docs:
submit-checklist: structure by category")
- use KCFLAGS instead of EXTRA-CFLAGS, following
commit 163ba35ff371 ("doc: use KCFLAGS instead of EXTRA_CFLAGS to pass
flags from command line")
- drop the sparse.rst pointer that the original does not have
Also fix the opening paragraph, which said the checklist is provided
in submitting-patches.rst rather than going beyond it, link
submitting-patches.rst and coding-style.rst through their zh_TW labels
and kernel-doc through the label used by the original, and retranslate
the text with Taiwanese terminology (內核→核心, 補丁→修補程式,
代碼→程式碼, 內存→記憶體, 構建→建置, 接口→介面, 菜單→選單, 默認→預設,
堆棧→堆疊, 字節→位元組, 體系結構→架構, ...).
update to commit 5a63f0369bda ("docs/.../submit-checklist: Use
Documentation/admin-guide/abi.rst for cross-ref of README")
Signed-off-by: Chen-Yu Yeh <chenyou910331@gmail.com>
---
.../zh_TW/process/submit-checklist.rst | 159 ++++++++++--------
1 file changed, 91 insertions(+), 68 deletions(-)
diff --git a/Documentation/translations/zh_TW/process/submit-checklist.rst b/Documentation/translations/zh_TW/process/submit-checklist.rst
index 452fecc7c425..7c25b99288f2 100644
--- a/Documentation/translations/zh_TW/process/submit-checklist.rst
+++ b/Documentation/translations/zh_TW/process/submit-checklist.rst
@@ -6,105 +6,128 @@
.. _tw_submitchecklist:
-Linux內核補丁提交檢查單
-~~~~~~~~~~~~~~~~~~~~~~~
+================================
+Linux 核心修補程式提交檢查清單
+================================
-如果開發人員希望看到他們的內核補丁提交更快地被接受,那麼他們應該做一些基本
-的事情。
+以下是開發者若希望自己提交的核心修補程式能更快被接受,應該做到的一些基本
+事項。
-這些都是在 Documentation/translations/zh_CN/process/submitting-patches.rst
-和其他有關提交Linux內核補丁的文檔中提供的。
+這些事項是在
+:ref:`Documentation/translations/zh_TW/process/submitting-patches.rst
+<tw_submittingpatches>`
+及其他關於提交 Linux 核心修補程式的文件所提供的內容之外,還要額外做到的。
-1) 如果使用工具,則包括定義/聲明該工具的文件。不要依賴其他頭文件來引入您使用
- 的頭文件。
+審查你的程式碼
+==============
-2) 乾淨的編譯:
+1) 如果你使用了某項功能,就 #include 定義/宣告該功能的檔案。不要依賴其他
+ 標頭檔幫你引入你所用到的標頭檔。
- a) 使用合適的 ``CONFIG`` 選項 ``=y``、``=m`` 和 ``=n`` 。沒有 ``gcc``
- 警告/錯誤,沒有鏈接器警告/錯誤。
+2) 依照
+ :ref:`Documentation/translations/zh_TW/process/coding-style.rst
+ <tw_codingstyle>`
+ 所述,檢查你的修補程式是否符合一般的程式碼風格。
- b) 通過 ``allnoconfig`` 、 ``allmodconfig``
+3) 所有記憶體屏障(例如 ``barrier()``、``rmb()``、``wmb()``)都需要在原始碼
+ 中加上註解,說明它們所做事情的邏輯及原因。
- c) 使用 ``O=builddir`` 時可以成功編譯
+審查 Kconfig 變更
+=================
- d) 任何 Documentation/ 下的變更都能成功構建且不引入新警告/錯誤。
- 用 ``make htmldocs`` 或 ``make pdfdocs`` 檢驗構建情況並修復問題。
+1) 任何新增或修改的 ``CONFIG`` 選項都不應弄亂設定選單,且預設應為關閉,
+ 除非符合 ``Documentation/kbuild/kconfig-language.rst`` 中
+ Menu attributes: default value 一節所記載的例外條件。
-3) 通過使用本地交叉編譯工具或其他一些構建設施在多個CPU體系結構上構建。
+2) 所有新的 ``Kconfig`` 選項都有說明文字。
-4) PPC64是一種很好的交叉編譯檢查體系結構,因爲它傾向於對64位的數使用無符號
- 長整型。
+3) 已針對相關的 ``Kconfig`` 組合仔細審查過。這一點很難單靠測試做對,
+ 在這裡多動腦是值得的。
-5) 按 Documentation/translations/zh_CN/process/coding-style.rst 所述檢查您的
- 補丁是否爲常規樣式。在提交之前使用補丁樣式檢查器 ``scripts/checkpatch.pl``
- 檢查是否有輕微的衝突。您應該能夠處理您的補丁中存在的所有
- 違規行爲。
+提供文件
+========
-6) 任何新的或修改過的 ``CONFIG`` 選項都不應搞亂配置菜單,並默認爲關閉,除非
- 它們符合 ``Documentation/kbuild/kconfig-language.rst`` 菜單屬性:默認值中
- 記錄的例外條件。
+1) 加入 :ref:`kernel-doc <kernel_doc>` 來為全域核心 API 撰寫文件。
+ (static 函式不需要,但寫了也可以。)
-7) 所有新的 ``kconfig`` 選項都有幫助文本。
+2) 所有新的 ``/proc`` 項目都在 ``Documentation/`` 下有文件記載。
-8) 已仔細審查了相關的 ``Kconfig`` 組合。這很難用測試來糾正——腦力在這裏是有
- 回報的。
+3) 所有新的核心開機參數都記載於
+ ``Documentation/admin-guide/kernel-parameters.rst``。
-9) 通過 sparse 清查。
- (參見 Documentation/translations/zh_CN/dev-tools/sparse.rst )
+4) 所有新的模組參數都用 ``MODULE_PARM_DESC()`` 記載。
-10) 使用 ``make checkstack`` 並修復他們發現的任何問題。
+5) 所有新的使用者空間介面都記載於 ``Documentation/ABI/``。
+ 詳情請參閱 Documentation/admin-guide/abi.rst
+ (或 ``Documentation/ABI/README``)。
+ 更改使用者空間介面的修補程式應該副本(CC)給
+ linux-api@vger.kernel.org\ 。
- .. note::
+6) 如果修補程式新增了任何 ioctl,也要更新
+ ``Documentation/userspace-api/ioctl/ioctl-number.rst``。
- ``checkstack`` 並不會明確指出問題,但是任何一個在堆棧上使用超過512
- 字節的函數都可以進行更改。
+使用工具檢查你的程式碼
+======================
-11) 包括 :ref:`kernel-doc <kernel_doc_zh>` 內核文檔以記錄全局內核API。(靜態
- 函數不需要,但也可以。)使用 ``make htmldocs`` 或 ``make pdfdocs`` 檢查
- :ref:`kernel-doc <kernel_doc_zh>` 並修復任何問題。
+1) 提交前先用修補程式風格檢查器(``scripts/checkpatch.pl``)檢查有無輕微的
+ 違規。對於修補程式中仍留下的每一項違規,你都應該能說明理由。
-12) 通過以下選項同時啓用的測試: ``CONFIG_PREEMPT``, ``CONFIG_DEBUG_PREEMPT``,
- ``CONFIG_SLUB_DEBUG``, ``CONFIG_DEBUG_PAGEALLOC``, ``CONFIG_DEBUG_MUTEXES``,
- ``CONFIG_DEBUG_SPINLOCK``, ``CONFIG_DEBUG_ATOMIC_SLEEP``,
- ``CONFIG_PROVE_RCU`` 和 ``CONFIG_DEBUG_OBJECTS_RCU_HEAD`` 。
+2) 用 sparse 檢查時乾淨無誤。
-13) 在 ``CONFIG_SMP``, ``CONFIG_PREEMPT`` 開啓和關閉的情況下都進行構建和運行
- 時測試。
+3) 使用 ``make checkstack`` 並修正它找到的任何問題。
+ 請注意 ``checkstack`` 不會明確指出問題,但任何在堆疊上使用超過 512 位元組
+ 的函式,都是應該修改的候選對象。
-14) 所有代碼路徑都已在啓用所有死鎖檢測(lockdep)功能的情況下運行。
+建置你的程式碼
+==============
-15) 所有新的 ``/proc`` 條目都記錄在 ``Documentation/``
+1) 乾淨地建置:
-16) 所有新的內核引導參數都記錄在
- Documentation/admin-guide/kernel-parameters.rst 中。
+ a) 使用適用或修改過的 ``CONFIG`` 選項 ``=y``、``=m`` 與 ``=n``。
+ 沒有 ``gcc`` 警告/錯誤,也沒有連結器警告/錯誤。
-17) 所有新的模塊參數都記錄在 ``MODULE_PARM_DESC()``
+ b) 通過 ``allnoconfig``、``allmodconfig``
-18) 所有新的用戶空間接口都記錄在 ``Documentation/ABI/`` 中。有關詳細信息,
- 請參閱 Documentation/admin-guide/abi.rst (或 ``Documentation/ABI/README``)。
- 更改用戶空間接口的補丁應該抄送 linux-api@vger.kernel.org\ 。
+ c) 使用 ``O=builddir`` 時可以成功建置
-19) 已通過至少注入slab和page分配失敗進行檢查。請參閱 ``Documentation/fault-injection/`` 。
- 如果新代碼是實質性的,那麼添加子系統特定的故障注入可能是合適的。
+ d) Documentation/ 下的任何變更都能成功建置,且不產生新的警告/錯誤。
+ 使用 ``make htmldocs`` 或 ``make pdfdocs`` 檢查建置結果,並修正任何
+ 問題。
-20) 新添加的代碼已經用 ``gcc -W`` 編譯(使用 ``make EXTRA-CFLAGS=-W`` )。這
- 將產生大量噪聲,但對於查找諸如“警告:有符號和無符號之間的比較”之類的錯誤
- 很有用。
+2) 使用本機的交叉編譯工具或其他建置環境(build farm),在多種 CPU 架構上
+ 建置。
+ 請注意,針對不同字組大小(32 位元與 64 位元)及不同位元組順序(big-endian
+ 與 little-endian)的架構進行測試,能有效找出各種可攜性問題;這些問題源自
+ 對可表示的數值範圍、資料對齊或位元組順序等的錯誤假設。
-21) 在它被合併到-mm補丁集中之後進行測試,以確保它仍然與所有其他排隊的補丁以
- 及VM、VFS和其他子系統中的各種更改一起工作。
+3) 新加入的程式碼已用 ``gcc -W`` 編譯過(使用 ``make KCFLAGS=-W``)。這會
+ 產生大量雜訊,但很適合用來找出像「warning: comparison between signed and
+ unsigned」這類的錯誤。
-22) 所有內存屏障(例如 ``barrier()``, ``rmb()``, ``wmb()`` )都需要源代碼注
- 釋來解釋它們正在執行的操作及其原因的邏輯。
+4) 如果你修改的原始碼依賴或使用了與下列 ``Kconfig`` 符號相關的任何核心 API
+ 或功能,就要在停用相關 ``Kconfig`` 符號及/或設為 ``=m`` (如果有此選項)
+ 的情況下,測試多種建置組合〔不必同時全部停用,只要各種/隨機的組合即可〕:
-23) 如果補丁添加了任何ioctl,那麼也要更新
- ``Documentation/userspace-api/ioctl/ioctl-number.rst`` 。
+ ``CONFIG_SMP``, ``CONFIG_SYSFS``, ``CONFIG_PROC_FS``, ``CONFIG_INPUT``,
+ ``CONFIG_PCI``, ``CONFIG_BLOCK``, ``CONFIG_PM``, ``CONFIG_MAGIC_SYSRQ``,
+ ``CONFIG_NET``, ``CONFIG_INET=n`` (但後者需搭配 ``CONFIG_NET=y``)。
-24) 如果修改後的源代碼依賴或使用與以下 ``Kconfig`` 符號相關的任何內核API或
- 功能,則在禁用相關 ``Kconfig`` 符號和/或 ``=m`` (如果該選項可用)的情況
- 下測試以下多個構建[並非所有這些都同時存在,只是它們的各種/隨機組合]:
+測試你的程式碼
+==============
- ``CONFIG_SMP``, ``CONFIG_SYSFS``, ``CONFIG_PROC_FS``, ``CONFIG_INPUT``,
- ``CONFIG_PCI``, ``CONFIG_BLOCK``, ``CONFIG_PM``, ``CONFIG_MAGIC_SYSRQ``,
- ``CONFIG_NET``, ``CONFIG_INET=n`` (但是最後一個需要 ``CONFIG_NET=y`` )。
+1) 已在同時啟用 ``CONFIG_PREEMPT``、``CONFIG_DEBUG_PREEMPT``、
+ ``CONFIG_SLUB_DEBUG``、``CONFIG_DEBUG_PAGEALLOC``、``CONFIG_DEBUG_MUTEXES``、
+ ``CONFIG_DEBUG_SPINLOCK``、``CONFIG_DEBUG_ATOMIC_SLEEP``、
+ ``CONFIG_PROVE_RCU`` 與 ``CONFIG_DEBUG_OBJECTS_RCU_HEAD`` 的情況下測試過。
+2) 已在啟用與不啟用 ``CONFIG_SMP`` 及 ``CONFIG_PREEMPT.`` 的情況下,進行過
+ 建置與執行期測試。
+
+3) 所有程式碼路徑都已在啟用所有 lockdep 功能的情況下執行過。
+
+4) 已至少透過注入 slab 與分頁配置失敗進行過檢查。請參閱
+ ``Documentation/fault-injection/``。
+ 如果新程式碼的份量很大,加入子系統專屬的故障注入可能也是適當的。
+
+5) 已用 linux-next 最新的標籤測試過,確保它仍能與所有其他排隊中的修補程式,
+ 以及 VM、VFS 和其他子系統的各種變更一起正常運作。
--
2.43.0
next prev parent reply other threads:[~2026-11-06 11:33 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-06 11:31 [PATCH 00/25] docs/zh_TW: process: resync translations with the English originals Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 01/25] docs/zh_TW: process: sync 1.Intro.rst with the English original Chen-Yu Yeh
2026-11-11 13:08 ` Weijie Yuan
2026-11-06 11:31 ` [PATCH 02/25] docs/zh_TW: process: sync 2.Process.rst " Chen-Yu Yeh
2026-11-11 14:32 ` Weijie Yuan
2026-11-06 11:31 ` [PATCH 03/25] docs/zh_TW: process: sync 4.Coding.rst " Chen-Yu Yeh
2026-11-12 3:25 ` Weijie Yuan
2026-11-12 5:36 ` Weijie Yuan
2026-11-06 11:31 ` [PATCH 04/25] docs/zh_TW: process: sync 5.Posting.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 05/25] docs/zh_TW: process: sync 6.Followthrough.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 06/25] docs/zh_TW: process: sync 7.AdvancedTopics.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 07/25] docs/zh_TW: process: sync 8.Conclusion.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 08/25] docs/zh_TW: process: sync code-of-conduct-interpretation.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 09/25] docs/zh_TW: process: sync code-of-conduct.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 10/25] docs/zh_TW: process: sync gdb-kernel-debugging.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 11/25] docs/zh_TW: process: sync development-process.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 12/25] docs/zh_TW: process: sync email-clients.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 13/25] docs/zh_TW: process: sync kernel-driver-statement.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 14/25] docs/zh_TW: process: sync kernel-enforcement-statement.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 15/25] docs/zh_TW: process: sync management-style.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 16/25] docs/zh_TW: process: sync security-bugs.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 17/25] docs/zh_TW: process: sync volatile-considered-harmful.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 18/25] docs/zh_TW: process: sync 3.Early-stage.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 19/25] docs/zh_TW: process: sync coding-style.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 20/25] docs/zh_TW: process: sync embargoed-hardware-issues.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 21/25] docs/zh_TW: process: sync howto.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 22/25] docs/zh_TW: process: sync license-rules.rst " Chen-Yu Yeh
2026-11-06 11:31 ` [PATCH 23/25] docs/zh_TW: process: sync stable-api-nonsense.rst " Chen-Yu Yeh
2026-11-06 11:31 ` Chen-Yu Yeh [this message]
2026-11-06 11:31 ` [PATCH 25/25] docs/zh_TW: process: sync submitting-patches.rst " Chen-Yu Yeh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261106113142.706783-25-chenyou910331@gmail.com \
--to=chenyou910331@gmail.com \
--cc=alexs@kernel.org \
--cc=corbet@lwn.net \
--cc=dzm91@hust.edu.cn \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=si.yanteng@linux.dev \
--cc=wy@wyuan.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.