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.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
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
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.