sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget"/admin-guide/reporting-regressionsmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Simplified)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget5/translations/zh_CN/admin-guide/reporting-regressionsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget5/translations/it_IT/admin-guide/reporting-regressionsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget5/translations/ja_JP/admin-guide/reporting-regressionsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget5/translations/ko_KR/admin-guide/reporting-regressionsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget5/translations/sp_SP/admin-guide/reporting-regressionsmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Traditional)uh1h hh _documenthsourceNlineNubhcomment)}(h0SPDX-License-Identifier: (GPL-2.0+ OR CC-BY-4.0)h]h0SPDX-License-Identifier: (GPL-2.0+ OR CC-BY-4.0)}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhb/var/lib/git/docbuild/linux/Documentation/translations/zh_TW/admin-guide/reporting-regressions.rsthKubh)}(h*【重分發信息參見本文件結尾】h]h*【重分發信息參見本文件結尾】}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubhwarning)}(hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。h]h paragraph)}(hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。h]hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_TW/disclaimer-zh_TW.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubhnote)}(h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<2023002089@link.tyut.edu.cn>。h]h)}(h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<2023002089@link.tyut.edu.cn>。h](h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<}(hhhhhNhNubh reference)}(h2023002089@link.tyut.edu.cnh]h2023002089@link.tyut.edu.cn}(hhhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:2023002089@link.tyut.edu.cnuh1hhhubh>。}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhKubh field_body)}(h4Documentation/admin-guide/reporting-regressions.rst h]h)}(h3Documentation/admin-guide/reporting-regressions.rsth]h3Documentation/admin-guide/reporting-regressions.rst}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j)hjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj)}(hhh](j)}(h譯者h]h譯者}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIhhhKubj*)}(h+吳想成 Wu XiangCheng h]h)}(h)吳想成 Wu XiangCheng h](h吳想成 Wu XiangCheng <}(hj^hhhNhNubh)}(hbobwxc@email.cnh]hbobwxc@email.cn}(hjfhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:bobwxc@email.cnuh1hhj^ubh>}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjZubah}(h]h ]h"]h$]h&]uh1j)hjIubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubeh}(h]h ]h"]h$]h&]uh1jhhhhhhhKubhsection)}(hhh](htitle)}(h報告迴歸問題h]h報告迴歸問題}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(h“*我們拒絕出現迴歸*”是Linux內核開發的首要規則;Linux的發起者和領軍開發者Linus Torvalds立下了此規則並確保它被落實。h](h“}(hjhhhNhNubhemphasis)}(h*我們拒絕出現迴歸*h]h我們拒絕出現迴歸}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh”是Linux內核開發的首要規則;Linux的發起者和領軍開發者Linus Torvalds立下了此規則並確保它被落實。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h本文檔描述了這條規則對用戶的意義,以及Linux內核開發模型如何確保解決所有被報告 的迴歸;關於內核開發者如何處理的方面參見 Documentation/process/handling-regressions.rst 。h]h本文檔描述了這條規則對用戶的意義,以及Linux內核開發模型如何確保解決所有被報告 的迴歸;關於內核開發者如何處理的方面參見 Documentation/process/handling-regressions.rst 。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh](j)}(h*本文重點(亦即“太長不看”)h]h*本文重點(亦即“太長不看”)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubhenumerated_list)}(hhh](h list_item)}(h如果某程序在原先的Linux內核上運行良好,但在較新版本上效果更差、或者根本不 能用,那麼你就碰見迴歸問題了。注意,新內核需要使用類似配置編譯;更多相關細 節參見下方。 h]h)}(h如果某程序在原先的Linux內核上運行良好,但在較新版本上效果更差、或者根本不 能用,那麼你就碰見迴歸問題了。注意,新內核需要使用類似配置編譯;更多相關細 節參見下方。h]h如果某程序在原先的Linux內核上運行良好,但在較新版本上效果更差、或者根本不 能用,那麼你就碰見迴歸問題了。注意,新內核需要使用類似配置編譯;更多相關細 節參見下方。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hX按照 Documentation/translations/zh_CN/admin-guide/reporting-issues.rst 中 所說的報告你的問題,該文檔已經包含了所有關於迴歸的重要方面,爲了方便起見也 複製到了下面。兩個重點:在報告主題中使用“[REGRESSION]”開頭並抄送或轉發到 `迴歸郵件列表 `_ (regressions@lists.linux.dev)。 h]h)}(hX按照 Documentation/translations/zh_CN/admin-guide/reporting-issues.rst 中 所說的報告你的問題,該文檔已經包含了所有關於迴歸的重要方面,爲了方便起見也 複製到了下面。兩個重點:在報告主題中使用“[REGRESSION]”開頭並抄送或轉發到 `迴歸郵件列表 `_ (regressions@lists.linux.dev)。h](hX'按照 Documentation/translations/zh_CN/admin-guide/reporting-issues.rst 中 所說的報告你的問題,該文檔已經包含了所有關於迴歸的重要方面,爲了方便起見也 複製到了下面。兩個重點:在報告主題中使用“[REGRESSION]”開頭並抄送或轉發到 }(hj hhhNhNubh)}(h<`迴歸郵件列表 `_h]h迴歸郵件列表}(hjhhhNhNubah}(h]h ]h"]h$]h&]name迴歸郵件列表refuri$https://lore.kernel.org/regressions/uh1hhj ubhtarget)}(h' h]h}(h]id3ah ]h"]迴歸郵件列表ah$]h&]refurij$uh1j% referencedKhj ubh (}(hj hhhNhNubh)}(hregressions@lists.linux.devh]hregressions@lists.linux.dev}(hj9hhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:regressions@lists.linux.devuh1hhj ubh)。}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h可選但是建議:在發送或轉發報告時,指明該回歸發生的起點,以便Linux內核迴歸 追蹤機器人“regzbot”可以追蹤此問題:: #regzbot introduced v5.13..v5.14-rc1 h](h)}(h可選但是建議:在發送或轉發報告時,指明該回歸發生的起點,以便Linux內核迴歸 追蹤機器人“regzbot”可以追蹤此問題::h]h可選但是建議:在發送或轉發報告時,指明該回歸發生的起點,以便Linux內核迴歸 追蹤機器人“regzbot”可以追蹤此問題:}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjYubh literal_block)}(h$#regzbot introduced v5.13..v5.14-rc1h]h$#regzbot introduced v5.13..v5.14-rc1}hjmsbah}(h]h ]h"]h$]h&]hhuh1jkhhhK(hjYubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.uh1jhjhhhhhKubeh}(h]id2ah ]h"]*本文重點(亦即“太長不看”)ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h/與用戶相關的所有Linux內核迴歸細節h]h/與用戶相關的所有Linux內核迴歸細節}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhK,ubj)}(hhh](j)}(h 基本重點h]h 基本重點}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhK0ubj)}(hhh](j)}(h<什麼是“迴歸”以及什麼是“無迴歸規則”?h]h<什麼是“迴歸”以及什麼是“無迴歸規則”?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhK4ubh)}(hX如果某程序/實例在原先的Linux內核上運行良好,但在較新版本上效果更差、或者根本 不能用,那麼你就碰見迴歸問題了。“無迴歸規則”不允許出現這種情況。如果偶然發 生了,導致問題的開發者應當迅速修復問題。h]hX如果某程序/實例在原先的Linux內核上運行良好,但在較新版本上效果更差、或者根本 不能用,那麼你就碰見迴歸問題了。“無迴歸規則”不允許出現這種情況。如果偶然發 生了,導致問題的開發者應當迅速修復問題。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjhhubh)}(hX也就是說,若Linux 5.13中的WiFi驅動程序運行良好,但是在5.14版本上卻不能用、速 度明顯變慢或出現錯誤,那就出現了迴歸。如果某正常工作的應用程序突然在新內核上 出現不穩定,這也是迴歸;這些問題可能是由於procfs、sysfs或Linux提供給用戶空間 軟件的許多其他接口之一的變化。但請記住,前述例子中的5.14需要使用類似於5.13的 配置構建。這可以用 ``make olddefconfig`` 實現,詳細解釋見下。h](hX也就是說,若Linux 5.13中的WiFi驅動程序運行良好,但是在5.14版本上卻不能用、速 度明顯變慢或出現錯誤,那就出現了迴歸。如果某正常工作的應用程序突然在新內核上 出現不穩定,這也是迴歸;這些問題可能是由於procfs、sysfs或Linux提供給用戶空間 軟件的許多其他接口之一的變化。但請記住,前述例子中的5.14需要使用類似於5.13的 配置構建。這可以用 }(hjhhhNhNubhliteral)}(h``make olddefconfig``h]hmake olddefconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 實現,詳細解釋見下。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hjhhubh)}(h注意本節第一句話中的“實例”:即使開發者需要遵循“無迴歸”規則,但仍可自由地改 變內核的任何方面,甚至是導出到用戶空間的API或ABI,只要別破壞現有的應用程序或 用例。h]h注意本節第一句話中的“實例”:即使開發者需要遵循“無迴歸”規則,但仍可自由地改 變內核的任何方面,甚至是導出到用戶空間的API或ABI,只要別破壞現有的應用程序或 用例。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjhhubh)}(h還需注意,“無迴歸”規則只限制內核提供給用戶空間的接口。它不適用於內核內部接 口,比如一些外部開發的驅動程序用來插入鉤子到內核的模塊API。h]h還需注意,“無迴歸”規則只限制內核提供給用戶空間的接口。它不適用於內核內部接 口,比如一些外部開發的驅動程序用來插入鉤子到內核的模塊API。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjhhubeh}(h]id5ah ]h"]<什麼是“迴歸”以及什麼是“無迴歸規則”?ah$]h&]uh1jhjhhhhhK4ubj)}(hhh](j)}(h如何報告迴歸?h]h如何報告迴歸?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKHubh)}(h只需按照 Documentation/translations/zh_CN/admin-guide/reporting-issues.rst 中 所說的報告你的問題,該文檔已經包含了要點。下面幾點概述了一下只在迴歸中重要的 方面:h]h只需按照 Documentation/translations/zh_CN/admin-guide/reporting-issues.rst 中 所說的報告你的問題,該文檔已經包含了要點。下面幾點概述了一下只在迴歸中重要的 方面:}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjhhubh block_quote)}(hXK* 在檢查可加入討論的現有報告時,別忘了搜索 `Linux迴歸郵件列表 `_ 和 `regzbot網頁界面 `_ 。 * 在報告主題的開頭加上“[REGRESSION]”。 * 在你的報告中明確最後一個正常工作的內核版本和首個出問題的版本。如若可能, 用二分法嘗試找出導致迴歸的變更,更多細節見下。 * 記得把報告發到Linux迴歸郵件列表(regressions@lists.linux.dev)。 * 如果通過郵件報告迴歸,請抄送回歸列表。 * 如果你使用某些缺陷追蹤器報告迴歸,請通過郵件轉發已提交的報告到迴歸列表, 並抄送維護者以及出問題的相關子系統的郵件列表。 如果是穩定版或長期支持版系列(如v5.15.3…v5.15.5)的迴歸,請記得抄送 `Linux穩定版郵件列表 `_ (stable@vger.kernel.org)。 如果你成功地執行了二分,請抄送肇事提交的信息中所有簽了“Signed-off-by:”的人。 h](h bullet_list)}(hhh](j)}(h在檢查可加入討論的現有報告時,別忘了搜索 `Linux迴歸郵件列表 `_ 和 `regzbot網頁界面 `_ 。 h]h)}(h在檢查可加入討論的現有報告時,別忘了搜索 `Linux迴歸郵件列表 `_ 和 `regzbot網頁界面 `_ 。h](h=在檢查可加入討論的現有報告時,別忘了搜索 }(hjIhhhNhNubh)}(hA`Linux迴歸郵件列表 `_h]hLinux迴歸郵件列表}(hjQhhhNhNubah}(h]h ]h"]h$]h&]nameLinux迴歸郵件列表j#$https://lore.kernel.org/regressions/uh1hhjIubj&)}(h' h]h}(h]id7ah ]h"]linux迴歸郵件列表ah$]h&]refurijauh1j%j4KhjIubh 和 }(hjIhhhNhNubh)}(hI`regzbot網頁界面 `_h]hregzbot網頁界面}(hjshhhNhNubah}(h]h ]h"]h$]h&]nameregzbot網頁界面j#0https://linux-regtracking.leemhuis.info/regzbot/uh1hhjIubj&)}(h3 h]h}(h]regzbotah ]h"]regzbot網頁界面ah$]h&]refurijuh1j%j4KhjIubh 。}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKNhjEubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(h4在報告主題的開頭加上“[REGRESSION]”。 h]h)}(h3在報告主題的開頭加上“[REGRESSION]”。h]h3在報告主題的開頭加上“[REGRESSION]”。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(h在你的報告中明確最後一個正常工作的內核版本和首個出問題的版本。如若可能, 用二分法嘗試找出導致迴歸的變更,更多細節見下。 h]h)}(h在你的報告中明確最後一個正常工作的內核版本和首個出問題的版本。如若可能, 用二分法嘗試找出導致迴歸的變更,更多細節見下。h]h在你的報告中明確最後一個正常工作的內核版本和首個出問題的版本。如若可能, 用二分法嘗試找出導致迴歸的變更,更多細節見下。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hX記得把報告發到Linux迴歸郵件列表(regressions@lists.linux.dev)。 * 如果通過郵件報告迴歸,請抄送回歸列表。 * 如果你使用某些缺陷追蹤器報告迴歸,請通過郵件轉發已提交的報告到迴歸列表, 並抄送維護者以及出問題的相關子系統的郵件列表。 如果是穩定版或長期支持版系列(如v5.15.3…v5.15.5)的迴歸,請記得抄送 `Linux穩定版郵件列表 `_ (stable@vger.kernel.org)。 h](h)}(hP記得把報告發到Linux迴歸郵件列表(regressions@lists.linux.dev)。h](h/記得把報告發到Linux迴歸郵件列表(}(hjhhhNhNubh)}(hregressions@lists.linux.devh]hregressions@lists.linux.dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:regressions@lists.linux.devuh1hhjubh)。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKWhjubjA)}(hhh](j)}(h:如果通過郵件報告迴歸,請抄送回歸列表。 h]h)}(h9如果通過郵件報告迴歸,請抄送回歸列表。h]h9如果通過郵件報告迴歸,請抄送回歸列表。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h如果你使用某些缺陷追蹤器報告迴歸,請通過郵件轉發已提交的報告到迴歸列表, 並抄送維護者以及出問題的相關子系統的郵件列表。 h]h)}(h如果你使用某些缺陷追蹤器報告迴歸,請通過郵件轉發已提交的報告到迴歸列表, 並抄送維護者以及出問題的相關子系統的郵件列表。h]h如果你使用某些缺陷追蹤器報告迴歸,請通過郵件轉發已提交的報告到迴歸列表, 並抄送維護者以及出問題的相關子系統的郵件列表。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]bullet*uh1j@hhhKYhjubh)}(h如果是穩定版或長期支持版系列(如v5.15.3…v5.15.5)的迴歸,請記得抄送 `Linux穩定版郵件列表 `_ (stable@vger.kernel.org)。h](h`如果是穩定版或長期支持版系列(如v5.15.3…v5.15.5)的迴歸,請記得抄送 }(hj2hhhNhNubh)}(h?`Linux穩定版郵件列表 `_h]hLinux穩定版郵件列表}(hj:hhhNhNubah}(h]h ]h"]h$]h&]nameLinux穩定版郵件列表j#https://lore.kernel.org/stable/uh1hhj2ubj&)}(h" h]h}(h]id8ah ]h"]linux穩定版郵件列表ah$]h&]refurijJuh1j%j4Khj2ubh (}(hj2hhhNhNubh)}(hstable@vger.kernel.orgh]hstable@vger.kernel.org}(hj\hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:stable@vger.kernel.orguh1hhj2ubh)。}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK^hjubeh}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]j0j1uh1j@hhhKNhj<ubj;)}(ho如果你成功地執行了二分,請抄送肇事提交的信息中所有簽了“Signed-off-by:”的人。 h]h)}(hn如果你成功地執行了二分,請抄送肇事提交的信息中所有簽了“Signed-off-by:”的人。h]hn如果你成功地執行了二分,請抄送肇事提交的信息中所有簽了“Signed-off-by:”的人。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKahjubah}(h]h ]h"]h$]h&]uh1j:hhhKahj<ubeh}(h]h ]h"]h$]h&]uh1j:hhhKNhjhhubh)}(h在抄送你的報告到列表時,也請記得通知前述的Linux內核迴歸追蹤機器人。只需在郵件 中包含如下片段::h]h在抄送你的報告到列表時,也請記得通知前述的Linux內核迴歸追蹤機器人。只需在郵件 中包含如下片段:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKchjhhubjl)}(h%#regzbot introduced: v5.13..v5.14-rc1h]h%#regzbot introduced: v5.13..v5.14-rc1}hjsbah}(h]h ]h"]h$]h&]hhuh1jkhhhKfhjhhubh)}(hX Regzbot會就將你的郵件視爲在某個特定版本區間的迴歸報告。上例中即linux v5.13仍 然正常,而Linux 5.14-rc1是首個您遇到問題的版本。如果你執行了二分以查找導致回 歸的提交,請使用指定肇事提交的id代替::h]hX Regzbot會就將你的郵件視爲在某個特定版本區間的迴歸報告。上例中即linux v5.13仍 然正常,而Linux 5.14-rc1是首個您遇到問題的版本。如果你執行了二分以查找導致回 歸的提交,請使用指定肇事提交的id代替:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjhhubjl)}(h#regzbot introduced: 1f2e3d4c5dh]h#regzbot introduced: 1f2e3d4c5d}hjsbah}(h]h ]h"]h$]h&]hhuh1jkhhhKlhjhhubh)}(hX添加這樣的“regzbot命令”對你是有好處的,它會確保報告不會被忽略。如果你省略了 它,Linux內核的迴歸跟蹤者會把你的迴歸告訴regzbot,只要你發送了一個副本到迴歸 郵件列表。但是迴歸跟蹤者只有一個人,有時不得不休息或甚至偶爾享受可以遠離電腦 的時光(聽起來很瘋狂)。因此,依賴此人手動將回歸添加到 `已追蹤且尚未解決的 Linux內核迴歸列表 `_ 和 regzbot發送的每週迴歸報告,可能會出現延遲。 這樣的延誤會導致Linus Torvalds 在決定“繼續開發還是發佈新版本?”時忽略嚴重的迴歸。h](hX添加這樣的“regzbot命令”對你是有好處的,它會確保報告不會被忽略。如果你省略了 它,Linux內核的迴歸跟蹤者會把你的迴歸告訴regzbot,只要你發送了一個副本到迴歸 郵件列表。但是迴歸跟蹤者只有一個人,有時不得不休息或甚至偶爾享受可以遠離電腦 的時光(聽起來很瘋狂)。因此,依賴此人手動將回歸添加到 }(hjhhhNhNubh)}(hi`已追蹤且尚未解決的 Linux內核迴歸列表 `_h]h3已追蹤且尚未解決的 Linux內核迴歸列表}(hjhhhNhNubah}(h]h ]h"]h$]h&]name3已追蹤且尚未解決的 Linux內核迴歸列表j#0https://linux-regtracking.leemhuis.info/regzbot/uh1hhjubj&)}(h3 h]h}(h]id9ah ]h"]3已追蹤且尚未解決的 linux內核迴歸列表ah$]h&]refurijuh1j%j4Khjubh 和 regzbot發送的每週迴歸報告,可能會出現延遲。 這樣的延誤會導致Linus Torvalds 在決定“繼續開發還是發佈新版本?”時忽略嚴重的迴歸。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKnhjhhubeh}(h]id6ah ]h"]如何報告迴歸?ah$]h&]uh1jhjhhhhhKHubj)}(hhh](j)}(h$真的修復了所有的迴歸嗎?h]h$真的修復了所有的迴歸嗎?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKwubh)}(h幾乎所有都是,只要引起問題的變更(肇事提交)被可靠定位。也有些迴歸可以不用這 樣,但通常是必須的。h]h幾乎所有都是,只要引起問題的變更(肇事提交)被可靠定位。也有些迴歸可以不用這 樣,但通常是必須的。}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjhhubeh}(h]id10ah ]h"]$真的修復了所有的迴歸嗎?ah$]h&]uh1jhjhhhhhKwubj)}(hhh](j)}(h'誰需要找出迴歸的根本原因?h]h'誰需要找出迴歸的根本原因?}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7hhhhhK}ubh)}(hX受影響代碼區域的開發者應該自行嘗試定位問題所在。但僅靠他們的努力往往是不可 能做到的,很多問題只發生在開發者的無法接觸的其他特定外部環境中——例如特定的 硬件平臺、固件、Linux發行版、系統的配置或應用程序。這就是爲什麼最終往往是報 告者定位肇事提交;有時用戶甚至需要再運行額外測試以查明確切的根本原因。開發 者應該提供建議和可能的幫助,以使普通用戶更容易完成該流程。h]hX受影響代碼區域的開發者應該自行嘗試定位問題所在。但僅靠他們的努力往往是不可 能做到的,很多問題只發生在開發者的無法接觸的其他特定外部環境中——例如特定的 硬件平臺、固件、Linux發行版、系統的配置或應用程序。這就是爲什麼最終往往是報 告者定位肇事提交;有時用戶甚至需要再運行額外測試以查明確切的根本原因。開發 者應該提供建議和可能的幫助,以使普通用戶更容易完成該流程。}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7hhubeh}(h]id11ah ]h"]'誰需要找出迴歸的根本原因?ah$]h&]uh1jhjhhhhhK}ubj)}(hhh](j)}(h如何找到罪魁禍首?h]h如何找到罪魁禍首?}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^hhhhhKubh)}(hX如 Documentation/translations/zh_CN/admin-guide/reporting-issues.rst (簡要) 和 Documentation/translations/zh_CN/admin-guide/bug-bisect.rst (詳細)中所 述,執行二分。聽起來工作量很大,但大部分情況下很快就能找到罪魁禍首。如果這很 困難或可靠地重現問題很耗時,請考慮與其他受影響的用戶合作,一起縮小搜索範圍。h]hX如 Documentation/translations/zh_CN/admin-guide/reporting-issues.rst (簡要) 和 Documentation/translations/zh_CN/admin-guide/bug-bisect.rst (詳細)中所 述,執行二分。聽起來工作量很大,但大部分情況下很快就能找到罪魁禍首。如果這很 困難或可靠地重現問題很耗時,請考慮與其他受影響的用戶合作,一起縮小搜索範圍。}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj^hhubeh}(h]id12ah ]h"]如何找到罪魁禍首?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h0當出現迴歸時我可以向誰尋求建議?h]h0當出現迴歸時我可以向誰尋求建議?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(h發送郵件到迴歸郵件列表(regressions@lists.linux.dev)同時抄送Linux內核的迴歸 跟蹤者(regressions@leemhuis.info);如果問題需要保密處理,可以省略列表。h](h$發送郵件到迴歸郵件列表(}(hjhhhNhNubh)}(hregressions@lists.linux.devh]hregressions@lists.linux.dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:regressions@lists.linux.devuh1hhjubh0)同時抄送Linux內核的迴歸 跟蹤者(}(hjhhhNhNubh)}(hregressions@leemhuis.infoh]hregressions@leemhuis.info}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:regressions@leemhuis.infouh1hhjubh:);如果問題需要保密處理,可以省略列表。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id13ah ]h"]0當出現迴歸時我可以向誰尋求建議?ah$]h&]uh1jhjhhhhhKubeh}(h]id4ah ]h"] 基本重點ah$]h&]uh1jhjhhhhhK0ubj)}(hhh](j)}(h關於迴歸的更多細節h]h關於迴歸的更多細節}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h*“無迴歸規則”的目標是什麼?h]h*“無迴歸規則”的目標是什麼?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(hX用戶應該放心升級內核版本,而不必擔心有程序可能崩潰。這符合內核開發者的利益, 可以使更新有吸引力:他們不希望用戶停留在停止維護或超過一年半的穩定/長期Linux 版本系列上。這也符合所有人的利益,因爲 `那些系列可能含有已知的缺陷、安全問題 或其他後續版本已經修復的問題 `_ 。 此外,內核開發者希望使用戶測試最新的預發行版或常規發行版變得簡單而有吸引力。 這同樣符合所有人的利益,如果新版本出來後很快就有相關報告,會使追蹤和修復問題 更容易。h](hX用戶應該放心升級內核版本,而不必擔心有程序可能崩潰。這符合內核開發者的利益, 可以使更新有吸引力:他們不希望用戶停留在停止維護或超過一年半的穩定/長期Linux 版本系列上。這也符合所有人的利益,因爲 }(hjhhhNhNubh)}(h`那些系列可能含有已知的缺陷、安全問題 或其他後續版本已經修復的問題 `_h]ha那些系列可能含有已知的缺陷、安全問題 或其他後續版本已經修復的問題}(hjhhhNhNubah}(h]h ]h"]h$]h&]namea那些系列可能含有已知的缺陷、安全問題 或其他後續版本已經修復的問題j#Ihttp://www.kroah.com/log/blog/2018/08/24/what-stable-kernel-should-i-use/uh1hhjubj&)}(hL h]h}(h]id16ah ]h"]a那些系列可能含有已知的缺陷、安全問題 或其他後續版本已經修復的問題ah$]h&]refurijuh1j%j4Khjubh 。 此外,內核開發者希望使用戶測試最新的預發行版或常規發行版變得簡單而有吸引力。 這同樣符合所有人的利益,如果新版本出來後很快就有相關報告,會使追蹤和修復問題 更容易。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id15ah ]h"]*“無迴歸規則”的目標是什麼?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h0實際中“無迴歸”規則真的可行嗎?h]h0實際中“無迴歸”規則真的可行嗎?}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6hhhhhKubh)}(h這不是句玩笑話,請見Linux創建者和主要開發人員Linus Torvalds在郵件列表中的許 多發言,其中一些在 Documentation/process/handling-regressions.rst 中被引用。h]h這不是句玩笑話,請見Linux創建者和主要開發人員Linus Torvalds在郵件列表中的許 多發言,其中一些在 Documentation/process/handling-regressions.rst 中被引用。}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6hhubh)}(h此規則的例外情況極爲罕見;之前當開發者認爲某個特定的情況有必要援引例外時, 基本都被證明錯了。h]h此規則的例外情況極爲罕見;之前當開發者認爲某個特定的情況有必要援引例外時, 基本都被證明錯了。}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6hhubeh}(h]id17ah ]h"]0實際中“無迴歸”規則真的可行嗎?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h'誰來確保“無迴歸”被落實?h]h'誰來確保“無迴歸”被落實?}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkhhhhhKubh)}(h照看和支撐樹的子系統維護者應該關心這一點——例如,Linus Torvalds之於主線, Greg Kroah-Hartman等人之於各種穩定/長期系列。h]h照看和支撐樹的子系統維護者應該關心這一點——例如,Linus Torvalds之於主線, Greg Kroah-Hartman等人之於各種穩定/長期系列。}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjkhhubh)}(hX他們都得到了別人的幫助,以確保迴歸報告不會被遺漏。其中之一是Thorsten Leemhuis,他目前擔任Linux內核的“迴歸跟蹤者”;爲了做好這項工作,他使用了 regzbot——Linux內核迴歸跟蹤機器人。所以這就是爲什麼要抄送或轉發你的報告到 迴歸郵件列表來通知這些人,已經最好在你的郵件中包含“regzbot命令”來立即追蹤它。h]hX他們都得到了別人的幫助,以確保迴歸報告不會被遺漏。其中之一是Thorsten Leemhuis,他目前擔任Linux內核的“迴歸跟蹤者”;爲了做好這項工作,他使用了 regzbot——Linux內核迴歸跟蹤機器人。所以這就是爲什麼要抄送或轉發你的報告到 迴歸郵件列表來通知這些人,已經最好在你的郵件中包含“regzbot命令”來立即追蹤它。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjkhhubeh}(h]id18ah ]h"]'誰來確保“無迴歸”被落實?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h迴歸通常多久能修復?h]h迴歸通常多久能修復?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(h開發者應該儘快修復任何被報告的迴歸,以提供及時爲受影響的用戶提供解決方案,並 防止更多用戶遇到問題;然而,開發人員需要花足夠的時間和注意力確保迴歸修復不會 造成額外的損害。h]h開發者應該儘快修復任何被報告的迴歸,以提供及時爲受影響的用戶提供解決方案,並 防止更多用戶遇到問題;然而,開發人員需要花足夠的時間和注意力確保迴歸修復不會 造成額外的損害。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h因此,答案取決於各種因素,如迴歸的影響、存在時長或出現於哪個Linux版本系列。 但最終,大多數的迴歸應該在兩週內修復。h]h因此,答案取決於各種因素,如迴歸的影響、存在時長或出現於哪個Linux版本系列。 但最終,大多數的迴歸應該在兩週內修復。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id19ah ]h"]迴歸通常多久能修復?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(hB當問題可以通過升級某些軟件解決時,是迴歸嗎?h]hB當問題可以通過升級某些軟件解決時,是迴歸嗎?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(hZ基本都是。如果開發人員告訴您其他情況,請諮詢上述迴歸跟蹤者。h]hZ基本都是。如果開發人員告訴您其他情況,請諮詢上述迴歸跟蹤者。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id20ah ]h"]B當問題可以通過升級某些軟件解決時,是迴歸嗎?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h3當新內核變慢或能耗增加,是迴歸嗎?h]h3當新內核變慢或能耗增加,是迴歸嗎?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(h是的,但有一些差別。在微型基準測試中變慢5%不太可能被視爲迴歸,除非它也會對 廣泛基準測試的結果產生超過1%的影響。如果有疑問,請尋求建議。h]h是的,但有一些差別。在微型基準測試中變慢5%不太可能被視爲迴歸,除非它也會對 廣泛基準測試的結果產生超過1%的影響。如果有疑問,請尋求建議。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id21ah ]h"]3當新內核變慢或能耗增加,是迴歸嗎?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h>當更新Linux時外部內核模塊崩潰了,是迴歸嗎?h]h>當更新Linux時外部內核模塊崩潰了,是迴歸嗎?}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#hhhhhKubh)}(h不,因爲“無迴歸”規則僅限於Linux內核提供給用戶空間的接口和服務。因此,它不包括 構建或運行外部開發的內核模塊,因爲它們在內核空間中運行與掛進內核使用的內部接 口偶爾會變化。h]h不,因爲“無迴歸”規則僅限於Linux內核提供給用戶空間的接口和服務。因此,它不包括 構建或運行外部開發的內核模塊,因爲它們在內核空間中運行與掛進內核使用的內部接 口偶爾會變化。}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#hhubeh}(h]id22ah ]h"]>當更新linux時外部內核模塊崩潰了,是迴歸嗎?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h*如何處理安全修復引起的迴歸?h]h*如何處理安全修復引起的迴歸?}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJhhhhhKubh)}(hXQ在極爲罕見的情況下,安全問題無法在不引起迴歸的情況下修復;這些修復都被放棄了, 因爲它們終究會引起問題。幸運的是這種兩難境地基本都可以避免,受影響區域的主要 開發者以及Linus Torvalds本人通常都會努力在不引入迴歸的情況下解決安全問題。h]hXQ在極爲罕見的情況下,安全問題無法在不引起迴歸的情況下修復;這些修復都被放棄了, 因爲它們終究會引起問題。幸運的是這種兩難境地基本都可以避免,受影響區域的主要 開發者以及Linus Torvalds本人通常都會努力在不引入迴歸的情況下解決安全問題。}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjJhhubh)}(h如果你仍然面臨此種情況,請查看郵件列表檔案是否有人盡力避免過迴歸。如果沒有, 請報告它;如有疑問,請如上所述尋求建議。h]h如果你仍然面臨此種情況,請查看郵件列表檔案是否有人盡力避免過迴歸。如果沒有, 請報告它;如有疑問,請如上所述尋求建議。}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjJhhubeh}(h]id23ah ]h"]*如何處理安全修復引起的迴歸?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(hB當修復迴歸時不可避免會引入另一個,如何處理?h]hB當修復迴歸時不可避免會引入另一個,如何處理?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(hXe很遺憾這種事確實會出現,但幸運的是並不經常出現;如果發生了,受影響代碼區的資 深開發者應當調查該問題以找到避免迴歸的解決方法,至少避免它們的影響。如果你遇 到這樣的情況,如上所述:檢查之前的討論是否有人已經盡了最大努力,如有疑問請尋 求建議。h]hXe很遺憾這種事確實會出現,但幸運的是並不經常出現;如果發生了,受影響代碼區的資 深開發者應當調查該問題以找到避免迴歸的解決方法,至少避免它們的影響。如果你遇 到這樣的情況,如上所述:檢查之前的討論是否有人已經盡了最大努力,如有疑問請尋 求建議。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hX小提示:如果人們在每個開發週期中定期給出主線預發佈(即v5.15-rc1或-rc3)以供 測試,則可以避免這種情況。爲了更好地解釋,可以設想一個在Linux v5.14和v5.15-rc1 之間集成的更改,該更改導致了迴歸,但同時是應用於5.15-rc1的其他改進的強依賴。 如果有人在5.15發佈之前就發現並報告了這個問題,那麼所有更改都可以直接撤銷,從 而解決迴歸問題。而就在幾天或幾周後,此解決方案變成了不可能,因爲一些軟件可能 已經開始依賴於後續更改之一:撤銷所有更改將導致上述用戶軟件出現迴歸,這是不可 接受的。h]hX小提示:如果人們在每個開發週期中定期給出主線預發佈(即v5.15-rc1或-rc3)以供 測試,則可以避免這種情況。爲了更好地解釋,可以設想一個在Linux v5.14和v5.15-rc1 之間集成的更改,該更改導致了迴歸,但同時是應用於5.15-rc1的其他改進的強依賴。 如果有人在5.15發佈之前就發現並報告了這個問題,那麼所有更改都可以直接撤銷,從 而解決迴歸問題。而就在幾天或幾周後,此解決方案變成了不可能,因爲一些軟件可能 已經開始依賴於後續更改之一:撤銷所有更改將導致上述用戶軟件出現迴歸,這是不可 接受的。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id24ah ]h"]B當修復迴歸時不可避免會引入另一個,如何處理?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(hB若我所依賴的功能在數月前被移除了,是迴歸嗎?h]hB若我所依賴的功能在數月前被移除了,是迴歸嗎?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(h是的,但如前節所述,通常很難修復此類迴歸。因此需要逐案處理。這也是定期測試主 線預發佈對所有人有好處的另一個原因。h]h是的,但如前節所述,通常很難修復此類迴歸。因此需要逐案處理。這也是定期測試主 線預發佈對所有人有好處的另一個原因。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id25ah ]h"]B若我所依賴的功能在數月前被移除了,是迴歸嗎?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(hQ如果我似乎是唯一受影響的人,是否仍適用“無迴歸”規則?h]hQ如果我似乎是唯一受影響的人,是否仍適用“無迴歸”規則?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(h適用,但僅限於實際使用:Linux開發人員希望能夠自由地取消那些只能在閣樓和博物 館中找到的硬件的支持。h]h適用,但僅限於實際使用:Linux開發人員希望能夠自由地取消那些只能在閣樓和博物 館中找到的硬件的支持。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hXp請注意,有時爲了取得進展,不得不出現迴歸——後者也是防止Linux停滯不前所必需 的。因此如果迴歸所影響的用戶很少,那麼爲了他們和其他人更大的利益,還是讓事情 過去吧。尤其是存在某種規避迴歸的簡單方法,例如更新一些軟件或者使用專門爲此目 的創建的內核參數。h]hXp請注意,有時爲了取得進展,不得不出現迴歸——後者也是防止Linux停滯不前所必需 的。因此如果迴歸所影響的用戶很少,那麼爲了他們和其他人更大的利益,還是讓事情 過去吧。尤其是存在某種規避迴歸的簡單方法,例如更新一些軟件或者使用專門爲此目 的創建的內核參數。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id26ah ]h"]Q如果我似乎是唯一受影響的人,是否仍適用“無迴歸”規則?ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h7迴歸規則是否也適用於staging樹中的代碼?h]h7迴歸規則是否也適用於staging樹中的代碼?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhMubh)}(h不,參見 `適用於所有staging代碼配置選項的幫助文本 `_ , 其早已聲明::h](h 不,參見 }(hj!hhhNhNubh)}(h`適用於所有staging代碼配置選項的幫助文本 `_h]h7適用於所有staging代碼配置選項的幫助文本}(hj)hhhNhNubah}(h]h ]h"]h$]h&]name7適用於所有staging代碼配置選項的幫助文本j#_https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/staging/Kconfiguh1hhj!ubj&)}(hb h]h}(h]id27ah ]h"]7適用於所有staging代碼配置選項的幫助文本ah$]h&]refurij9uh1j%j4Khj!ubh , 其早已聲明:}(hj!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubjl)}(h請注意:這些驅動正在積極開發中,可能無法正常工作,並可能包含會在不久的 將來發生變化的用戶接口。h]h請注意:這些驅動正在積極開發中,可能無法正常工作,並可能包含會在不久的 將來發生變化的用戶接口。}hjQsbah}(h]h ]h"]h$]h&]hhuh1jkhhhMhjhhubh)}(h雖然staging開發人員通常堅持“無迴歸”的原則,但有時爲了取得進展也會違背它。這就 是爲什麼當staging樹的WiFi驅動被基本推倒重來時,有些用戶不得不處理迴歸(通常可 以忽略)。h]h雖然staging開發人員通常堅持“無迴歸”的原則,但有時爲了取得進展也會違背它。這就 是爲什麼當staging樹的WiFi驅動被基本推倒重來時,有些用戶不得不處理迴歸(通常可 以忽略)。}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjhhubeh}(h]stagingah ]h"]7迴歸規則是否也適用於staging樹中的代碼?ah$]h&]uh1jhjhhhhhMubj)}(hhh](j)}(h<爲什麼較新版本必須“使用相似配置編譯”?h]h<爲什麼較新版本必須“使用相似配置編譯”?}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuhhhhhMubh)}(h因爲Linux內核開發人員有時會集成已知的會導致迴歸的變更,但使它們成爲可選的,並 在內核的默認配置下禁用它們。這一技巧允許進步,否則“無迴歸”規則將導致停滯。h]h因爲Linux內核開發人員有時會集成已知的會導致迴歸的變更,但使它們成爲可選的,並 在內核的默認配置下禁用它們。這一技巧允許進步,否則“無迴歸”規則將導致停滯。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuhhubh)}(hX4例如,試想一個新的可以阻止惡意軟件濫用某個內核的接口的安全特性,同時又需要滿足 另一個很罕見的應用程序。上述的方法可使兩方都滿意:使用這些應用程序的人可以關閉 新的安全功能,而其他不會遇到麻煩的人可以啓用它。h]hX4例如,試想一個新的可以阻止惡意軟件濫用某個內核的接口的安全特性,同時又需要滿足 另一個很罕見的應用程序。上述的方法可使兩方都滿意:使用這些應用程序的人可以關閉 新的安全功能,而其他不會遇到麻煩的人可以啓用它。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuhhubeh}(h]id28ah ]h"]<爲什麼較新版本必須“使用相似配置編譯”?ah$]h&]uh1jhjhhhhhMubj)}(hhh](j)}(h*如何創建與舊內核相似的配置?h]h*如何創建與舊內核相似的配置?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhMubh)}(hXX用一個已知良好的內核啓動機器,並用 ``make olddefconfig`` 配置新版的Linux。這 會讓內核的構建腳本從正在運行的內核中摘錄配置文件(“.config”文件),作爲即將編 譯的新版本的基礎配置;同時將所有新的配置選項設爲默認值,以禁用可能導致迴歸的 新功能。h](h4用一個已知良好的內核啓動機器,並用 }(hjhhhNhNubj)}(h``make olddefconfig``h]hmake olddefconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhX 配置新版的Linux。這 會讓內核的構建腳本從正在運行的內核中摘錄配置文件(“.config”文件),作爲即將編 譯的新版本的基礎配置;同時將所有新的配置選項設爲默認值,以禁用可能導致迴歸的 新功能。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]id29ah ]h"]*如何創建與舊內核相似的配置?ah$]h&]uh1jhjhhhhhMubj)}(hhh](j)}(h<如何報告在預編譯的普通內核中發現的迴歸?h]h<如何報告在預編譯的普通內核中發現的迴歸?}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhM ubh)}(h您需要確保新的內核是用與舊版相似的配置編譯(見上文),因爲那些構建它們的人可 能啓用了一些已知的與新內核不兼容的特性。如有疑問,請向內核的提供者報告問題並 尋求建議。h]h您需要確保新的內核是用與舊版相似的配置編譯(見上文),因爲那些構建它們的人可 能啓用了一些已知的與新內核不兼容的特性。如有疑問,請向內核的提供者報告問題並 尋求建議。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjhhubeh}(h]id30ah ]h"]<如何報告在預編譯的普通內核中發現的迴歸?ah$]h&]uh1jhjhhhhhM ubeh}(h]id14ah ]h"]關於迴歸的更多細節ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h+用“regzbot”追蹤迴歸的更多信息h]h+用“regzbot”追蹤迴歸的更多信息}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hhhhhM(ubj)}(hhh](j)}(h3什麼是迴歸追蹤?爲啥我需要關心它?h]h3什麼是迴歸追蹤?爲啥我需要關心它?}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj# hhhhhM+ubh)}(hX像“無迴歸”這樣的規則需要有人來確保它們被遵守,否則會被有意/無意打破。歷史證 明瞭這一點對於Linux內核開發也適用。這就是爲什麼Linux內核的迴歸跟蹤者Thorsten Leemhuis,,和另一些人盡力關注所有的迴歸直到他們解決。他們從未爲此獲得報酬, 因此這項工作是在盡最大努力的基礎上完成的。h]hX像“無迴歸”這樣的規則需要有人來確保它們被遵守,否則會被有意/無意打破。歷史證 明瞭這一點對於Linux內核開發也適用。這就是爲什麼Linux內核的迴歸跟蹤者Thorsten Leemhuis,,和另一些人盡力關注所有的迴歸直到他們解決。他們從未爲此獲得報酬, 因此這項工作是在盡最大努力的基礎上完成的。}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj# hhubeh}(h]id32ah ]h"]3什麼是迴歸追蹤?爲啥我需要關心它?ah$]h&]uh1jhj hhhhhM+ubj)}(hhh](j)}(h9爲什麼/如何使用機器人追蹤Linux內核迴歸?h]h9爲什麼/如何使用機器人追蹤Linux內核迴歸?}(hjM hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJ hhhhhM3ubh)}(hX 由於Linux內核開發過程的分佈式和鬆散結構,完全手動跟蹤迴歸已經被證明是相當困難 的。因此Linux內核的迴歸跟蹤者開發了regzbot來促進這項工作,其長期目標是儘可能爲 所有相關人員自動化迴歸跟蹤。h]hX 由於Linux內核開發過程的分佈式和鬆散結構,完全手動跟蹤迴歸已經被證明是相當困難 的。因此Linux內核的迴歸跟蹤者開發了regzbot來促進這項工作,其長期目標是儘可能爲 所有相關人員自動化迴歸跟蹤。}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hjJ hhubh)}(hRegzbot通過監視跟蹤的迴歸報告的回覆來工作。此外,它還查找用“Link:”標籤引用這 些報告的補丁;對這些補丁的回覆也會被跟蹤。結合這些數據,可以很好地瞭解當前修 復過程的狀態。h]hRegzbot通過監視跟蹤的迴歸報告的回覆來工作。此外,它還查找用“Link:”標籤引用這 些報告的補丁;對這些補丁的回覆也會被跟蹤。結合這些數據,可以很好地瞭解當前修 復過程的狀態。}(hji hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjJ hhubeh}(h]id33ah ]h"]9爲什麼/如何使用機器人追蹤linux內核迴歸?ah$]h&]uh1jhj hhhhhM3ubj)}(hhh](j)}(h+如何查看regzbot當前追蹤的迴歸?h]h+如何查看regzbot當前追蹤的迴歸?}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hhhhhM>ubh)}(hN參見 `regzbot在線 `_ 。h](h參見 }(hj hhhNhNubh)}(hC`regzbot在線 `_h]h regzbot在線}(hj hhhNhNubah}(h]h ]h"]h$]h&]name regzbot在線j#0https://linux-regtracking.leemhuis.info/regzbot/uh1hhj ubj&)}(h3 h]h}(h]id35ah ]h"] regzbot在線ah$]h&]refurij uh1j%j4Khj ubh 。}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM@hj hhubeh}(h]id34ah ]h"]+如何查看regzbot當前追蹤的迴歸?ah$]h&]uh1jhj hhhhhM>ubj)}(hhh](j)}(h%何種問題可以由regzbot追蹤?h]h%何種問題可以由regzbot追蹤?}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hhhhhMCubh)}(hX該機器人只爲了跟蹤迴歸,因此請不要讓regzbot涉及常規問題。但是對於Linux內核的 迴歸跟蹤者來說,讓regzbot跟蹤嚴重問題也可以,如有關掛起、損壞數據或內部錯誤 (Panic、Oops、BUG()、warning…)的報告。h]hX該機器人只爲了跟蹤迴歸,因此請不要讓regzbot涉及常規問題。但是對於Linux內核的 迴歸跟蹤者來說,讓regzbot跟蹤嚴重問題也可以,如有關掛起、損壞數據或內部錯誤 (Panic、Oops、BUG()、warning…)的報告。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhj hhubeh}(h]id36ah ]h"]%何種問題可以由regzbot追蹤?ah$]h&]uh1jhj hhhhhMCubj)}(hhh](j)}(h-如何修改被追蹤迴歸的相關信息?h]h-如何修改被追蹤迴歸的相關信息?}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hhhhhMJubh)}(hX在直接或間接回復報告郵件時使用“regzbot命令”即可。最簡單的方法是:在“已發送”文 件夾或郵件列表存檔中找到報告,然後使用郵件客戶端的“全部回覆”功能對其進行回覆。 在該郵件中的獨立段落中可使用以下命令之一(即使用空行將這些命令中的一個或多個與 其餘郵件文本分隔開)。h]hX在直接或間接回復報告郵件時使用“regzbot命令”即可。最簡單的方法是:在“已發送”文 件夾或郵件列表存檔中找到報告,然後使用郵件客戶端的“全部回覆”功能對其進行回覆。 在該郵件中的獨立段落中可使用以下命令之一(即使用空行將這些命令中的一個或多個與 其餘郵件文本分隔開)。}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhj hhubj;)}(hX* 更新迴歸引入起點,例如在執行二分之後:: #regzbot introduced: 1f2e3d4c5d * 設置或更新標題:: #regzbot title: foo * 監視討論或bugzilla.kernel.org上有關討論或修復的工單:: #regzbot monitor: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/ #regzbot monitor: https://bugzilla.kernel.org/show_bug.cgi?id=123456789 * 標記一個有更多相關細節的地方,例如有關但主題不同的郵件列表帖子或缺陷追蹤器中的工單:: #regzbot link: https://bugzilla.kernel.org/show_bug.cgi?id=123456789 * 標記迴歸已失效:: #regzbot invalid: wasn't a regression, problem has always existed h]jA)}(hhh](j)}(h^更新迴歸引入起點,例如在執行二分之後:: #regzbot introduced: 1f2e3d4c5d h](h)}(h8更新迴歸引入起點,例如在執行二分之後::h]h7更新迴歸引入起點,例如在執行二分之後:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhj ubjl)}(h#regzbot introduced: 1f2e3d4c5dh]h#regzbot introduced: 1f2e3d4c5d}hj' sbah}(h]h ]h"]h$]h&]hhuh1jkhhhMShj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(h1設置或更新標題:: #regzbot title: foo h](h)}(h設置或更新標題::h]h設置或更新標題:}(hj? hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhj; ubjl)}(h#regzbot title: fooh]h#regzbot title: foo}hjM sbah}(h]h ]h"]h$]h&]hhuh1jkhhhMWhj; ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(h監視討論或bugzilla.kernel.org上有關討論或修復的工單:: #regzbot monitor: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/ #regzbot monitor: https://bugzilla.kernel.org/show_bug.cgi?id=123456789 h](h)}(hE監視討論或bugzilla.kernel.org上有關討論或修復的工單::h]hD監視討論或bugzilla.kernel.org上有關討論或修復的工單:}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhja ubjl)}(h#regzbot monitor: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/ #regzbot monitor: https://bugzilla.kernel.org/show_bug.cgi?id=123456789h]h#regzbot monitor: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/ #regzbot monitor: https://bugzilla.kernel.org/show_bug.cgi?id=123456789}hjs sbah}(h]h ]h"]h$]h&]hhuh1jkhhhM[hja ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(h標記一個有更多相關細節的地方,例如有關但主題不同的郵件列表帖子或缺陷追蹤器中的工單:: #regzbot link: https://bugzilla.kernel.org/show_bug.cgi?id=123456789 h](h)}(h}標記一個有更多相關細節的地方,例如有關但主題不同的郵件列表帖子或缺陷追蹤器中的工單::h]h|標記一個有更多相關細節的地方,例如有關但主題不同的郵件列表帖子或缺陷追蹤器中的工單:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hj ubjl)}(hD#regzbot link: https://bugzilla.kernel.org/show_bug.cgi?id=123456789h]hD#regzbot link: https://bugzilla.kernel.org/show_bug.cgi?id=123456789}hj sbah}(h]h ]h"]h$]h&]hhuh1jkhhhM`hj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(h_標記迴歸已失效:: #regzbot invalid: wasn't a regression, problem has always existed h](h)}(h標記迴歸已失效::h]h標記迴歸已失效:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj ubjl)}(hA#regzbot invalid: wasn't a regression, problem has always existedh]hA#regzbot invalid: wasn't a regression, problem has always existed}hj sbah}(h]h ]h"]h$]h&]hhuh1jkhhhMdhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]j0j1uh1j@hhhMQhj ubah}(h]h ]h"]h$]h&]uh1j:hhhMQhj hhubh)}(hX+Regzbot還支持其他一些主要由開發人員或迴歸追蹤人員使用的命令。命令的更多細節請 參考 `入門指南 `_ 和 `參考手冊 `_ 。h](hxRegzbot還支持其他一些主要由開發人員或迴歸追蹤人員使用的命令。命令的更多細節請 參考 }(hj hhhNhNubh)}(hX`入門指南 `_h]h 入門指南}(hj hhhNhNubah}(h]h ]h"]h$]h&]name 入門指南j#Fhttps://gitlab.com/knurd42/regzbot/-/blob/main/docs/getting_started.mduh1hhj ubj&)}(hI h]h}(h]id38ah ]h"] 入門指南ah$]h&]refurij uh1j%j4Khj ubh 和 }(hj hhhNhNubh)}(hR`參考手冊 `_h]h 參考手冊}(hj hhhNhNubah}(h]h ]h"]h$]h&]name 參考手冊j#@https://gitlab.com/knurd42/regzbot/-/blob/main/docs/reference.mduh1hhj ubj&)}(hC h]h}(h]id39ah ]h"] 參考手冊ah$]h&]refurij uh1j%j4Khj ubh 。}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMfhj hhubh)}(h 正文結束h]h 正文結束}hj1 sbah}(h]h ]h"]h$]h&]hhuh1hhj hhhhhMkubh)}(hX[如本文件開頭所述,本文以GPL-2.0+或CC-BY-4.0許可發行。如您想僅在CC-BY-4.0許 可下重分發本文,請用“Linux內核開發者”作爲作者,並用如下鏈接作爲來源: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/translations/zh_CN/admin-guide/reporting-regressions.rsth]hX[如本文件開頭所述,本文以GPL-2.0+或CC-BY-4.0許可發行。如您想僅在CC-BY-4.0許 可下重分發本文,請用“Linux內核開發者”作爲作者,並用如下鏈接作爲來源: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/translations/zh_CN/admin-guide/reporting-regressions.rst}hj? sbah}(h]h ]h"]h$]h&]hhuh1hhj hhhhhMoubh)}(h注意:本RST文件內容只有在來自Linux內核源代碼時是使用CC-BY-4.0許可的,因爲經 過處理的版本(如經內核的構建系統)可能包含來自使用更嚴格許可證的文件的內容。h]h注意:本RST文件內容只有在來自Linux內核源代碼時是使用CC-BY-4.0許可的,因爲經 過處理的版本(如經內核的構建系統)可能包含來自使用更嚴格許可證的文件的內容。}hjM sbah}(h]h ]h"]h$]h&]hhuh1hhj hhhhhMsubeh}(h]id37ah ]h"]-如何修改被追蹤迴歸的相關信息?ah$]h&]uh1jhj hhhhhMJubeh}(h]id31ah ]h"]+用“regzbot”追蹤迴歸的更多信息ah$]h&]uh1jhjhhhhhM(ubeh}(h]linuxah ]h"]/與用戶相關的所有linux內核迴歸細節ah$]h&]uh1jhjhhhhhK,ubeh}(h]id1ah ]h"]報告迴歸問題ah$]h&]uh1jhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jx ju jjj0j-jp jm jjjjj j jkjhjjjTjQjjj4j1j[jXjjjjj j j3j0j jjhjejjjjjjj jjGjDj|jyjjjjj j jrjojCj@jjjjj j jh je jG jD j| jy j j j j j j j` j] j j j# j u nametypes}(jx jj0jp jjj jkjjTjj4j[jjj j3j jhjjjj jGj|jjj jrjCjjj jh jG j| j j j j` j j# uh}(ju jjjj-j'jm jjjjjj jjhjbjjjQjKjjj1jjXj7jj^jjj jj0jjjjej6jjkjjjjjjjDj#jyjJjjjjj jjojj@j:jjujjj jje j jD j# jy jJ j j j j j j j] j j j j j u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j K'sRparse_messages]transform_messages] transformerN include_log]FDocumentation/translations/zh_TW/admin-guide/reporting-regressions.rst(NNNNta decorationNhhub.