Documentation/translations/zh_CN/admin-guide/reporting-regressions.rst

Source file repositories/reference/linux-study-clean/Documentation/translations/zh_CN/admin-guide/reporting-regressions.rst

File Facts

System
Linux kernel
Corpus path
Documentation/translations/zh_CN/admin-guide/reporting-regressions.rst
Extension
.rst
Size
19006 bytes
Lines
371
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: (GPL-2.0+ OR CC-BY-4.0)
.. 【重分发信息参见本文件结尾】

.. include:: ../disclaimer-zh_CN.rst

:Original: Documentation/admin-guide/reporting-regressions.rst

:译者:

 吴想成 Wu XiangCheng <bobwxc@email.cn>


============
报告回归问题
============

“*我们拒绝出现回归*”是Linux内核开发的首要规则;Linux的发起者和领军开发者Linus
Torvalds立下了此规则并确保它被落实。

本文档描述了这条规则对用户的意义,以及Linux内核开发模型如何确保解决所有被报告
的回归;关于内核开发者如何处理的方面参见 Documentation/process/handling-regressions.rst 。


本文重点(亦即“太长不看”)
==========================

#. 如果某程序在原先的Linux内核上运行良好,但在较新版本上效果更差、或者根本不
   能用,那么你就碰见回归问题了。注意,新内核需要使用类似配置编译;更多相关细
   节参见下方。

#. 按照 Documentation/translations/zh_CN/admin-guide/reporting-issues.rst 中
   所说的报告你的问题,该文档已经包含了所有关于回归的重要方面,为了方便起见也
   复制到了下面。两个重点:在报告主题中使用“[REGRESSION]”开头并抄送或转发到
   `回归邮件列表 <https://lore.kernel.org/regressions/>`_
   (regressions@lists.linux.dev)。

#. 可选但是建议:在发送或转发报告时,指明该回归发生的起点,以便Linux内核回归
   追踪机器人“regzbot”可以追踪此问题::

       #regzbot introduced v5.13..v5.14-rc1


与用户相关的所有Linux内核回归细节
=================================


基本重点
--------


什么是“回归”以及什么是“无回归规则”?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

如果某程序/实例在原先的Linux内核上运行良好,但在较新版本上效果更差、或者根本
不能用,那么你就碰见回归问题了。“无回归规则”不允许出现这种情况。如果偶然发
生了,导致问题的开发者应当迅速修复问题。

也就是说,若Linux 5.13中的WiFi驱动程序运行良好,但是在5.14版本上却不能用、速
度明显变慢或出现错误,那就出现了回归。如果某正常工作的应用程序突然在新内核上
出现不稳定,这也是回归;这些问题可能是由于procfs、sysfs或Linux提供给用户空间
软件的许多其他接口之一的变化。但请记住,前述例子中的5.14需要使用类似于5.13的
配置构建。这可以用 ``make olddefconfig`` 实现,详细解释见下。

注意本节第一句话中的“实例”:即使开发者需要遵循“无回归”规则,但仍可自由地改
变内核的任何方面,甚至是导出到用户空间的API或ABI,只要别破坏现有的应用程序或
用例。

还需注意,“无回归”规则只限制内核提供给用户空间的接口。它不适用于内核内部接
口,比如一些外部开发的驱动程序用来插入钩子到内核的模块API。

Annotation

Implementation Notes