找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4970

积分

0

好友

692

主题
发表于 1 小时前 | 查看: 4| 回复: 0

Linux 内核 7.1 的合并窗口期正如火如荼地进行,这次带来了几个颇具争议或里程碑意义的决定。从淘汰古董级CPU支持,到 Linus Torvalds 对一些补丁设计的严厉批评,再到 Nginx 的稳定版更新,让我们一起来看看近期的重要动态。

告别 i486:Linux 迈出移除古董CPU支持的第一步

Linus Torvalds 近日接受了首批移除 Intel 486 CPU 支持的内核代码,正式启动了淘汰流程。首批移除的是内核配置(Kconfig)中针对 M486/M486SX/ELAN CPU 的编译选项。

这意味着,在未来的 Linux 7.1 及更高版本中,你将无法再编译出支持英特尔 486 架构的内核。此举会直接影响 AMD/Cyrix/IBM/Intel SL/SLC/SLC2/SLC3/SX/SX2 及 UMC U5S 系列处理器。而 M486 配置选项原本对应的是 486 级别 CPU,包括 AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 和 UMC U5D 等型号。

Git提交截图,显示移除M486支持的合并信息

如果后续没有社区成员提出强有力的保留理由,预计在 Linux 7.2 或更高版本中,针对 i486 专属代码路径的清理工作会更深入。如果你真的还在使用搭载 i486 CPU 的设备运行现代 Linux,可以继续依赖 Linux 6.18 LTS 等长期支持版本。

此次合并的代码属于 x86/platform 更新,标志着内核向移除历史包袱迈出了第一步。同批提交中,还增加了一项对新型 AMD CPU 的实用功能:当检测到 AMD AGESA 固件时,其版本号将被打印到内核日志,这为调试工作提供了便利。

Linus Torvalds 直言拒绝两项问题补丁

虽然 Linux 7.1 合并了许多新特性,但已有两项拉取请求因为设计问题被 Linus Torvalds 明确拒绝,并附上了他标志性的犀利评论。

第一项:有缺陷的审计性能补丁

第一个被拒的补丁,旨在解决启用审计子系统时,在高核心数工作站/服务器上出现的性能衰退问题。开发者 Christian Brauner 描述,该补丁通过新增一组 fs_struct 辅助函数来减少不必要的 path_get()path_put() 调用,以缓解自旋锁争用。

然而,Linus 对此设计非常不满,他回应道:

我非常不喜欢这个方案……在我看来这完全走错了方向,像是个临时补丁。

造成这种差异的唯一原因是审计代码对pwd和root进行了区别对待。而这又源于审计代码本身的历史遗留问题与设计缺陷——它无法正确处理chroot环境。pwd和root路径本质上是同一事物的两面,任何对它们进行如此差异化处理的代码都是错误的

这个方案本质上是将审计模块的错误暴露给了非审计用户。我对此极度反感。

Linus Torvalds 表情包,配文“This is just sh* t.”

Brauner 随后回应称,他同样不欣赏这段代码的设计,认为其确实像临时补丁,并已将其从拉取请求中移除。

第二项:不必要的 Kconfig 选项

另一项引发 Linus 反感的补丁涉及 RCU(Read-Copy-Update)代码。该补丁提议新增一个 BOOTPARAM_RCU_STALL_PANIC 内核配置选项,旨在默认触发 RCU 停滞时的内核恐慌(panic),主要针对需要高可用性自动恢复的系统。

Torvalds 对此强烈反对:

否决。见鬼,别再搞这些糟糕的设计了。

我已经强调过无数次:内核配置阶段可能是新手尝试自行编译内核时最大的痛点之一,我们绝不应该用愚蠢的问题困扰用户

需要此功能的人完全可以通过系统控件或内核命令行参数实现,我们绝不能因此恶化其他所有人的体验。内核配置文件不是你们的私人游乐场——它们是我们鼓励普通用户参与内核开发的最直观接口。

Linus 指出,通过 sysctl.kernel.panic_on_rcu_stall=true 这样的启动参数,完全可以实现相同的默认行为,完全没必要增加一个编译配置选项来让内核配置界面变得更复杂。这些关于代码质量与接口设计的争论,对于维护内核的长期健康和可维护性至关重要。

Nginx 1.30 稳定版发布,支持多路径TCP

转向网络服务领域,Nginx 1.30 稳定版也已发布。该版本整合了 1.29.x 主线分支的所有更新,带来了多项值得关注的新功能。

其中最引人注目的是对 多路径 TCP(MPTCP) 的支持。这项功能使服务器能够通过单条数据连接同时利用多个网络路径(例如同时使用 Wi-Fi 和蜂窝网络),从而提升吞吐量并实现跨连接的无缝切换。

Nginx 绿色Logo

此外,Nginx 1.30 还新增了以下特性:

  • HTTP/103 早期提示支持:允许服务器在发送最终响应前,先行提示客户端预加载 CSS、JavaScript 等资源,Chrome 等浏览器已支持此功能。
  • 加密客户端问候(ECH):增强 TLS 握手的隐私性。
  • 后端 HTTP/2 支持:在代理到上游服务时使用 HTTP/2 协议。
  • 上游服务的粘性会话支持
  • 将默认的代理 HTTP 版本设置为启用 Keep-Alive 的 HTTP/1.1。

exFAT 驱动更新,致力于减少文件碎片

在文件系统方面,微软 exFAT 驱动 for Linux 也迎来了更新。本次改进的核心是引入了 FALLOC_FL_ALLOCATE_RANGE 功能,支持无需清零操作的簇预分配,这有助于降低文件碎片化程度,对于在 Linux 上使用 exFAT 格式的移动存储设备是个好消息。

其他改进还包括:

  • 为多项操作新增统一的块预读辅助函数。
  • 优化 exfat_chain_cont_cluster() 以减少不必要的 mark_buffer_dirty() 调用。
  • 修复目录项计算中的 32 位截断错误。
  • 修正最大卷容量的计算逻辑。
  • 引入 exfat_cluster_walk()exfat_chain_advance() 等新的辅助函数。

本次 exFAT 驱动的更新,显示了其在 Linux内核 生态中的持续优化。相比之下,Linux 7.1 中另一个重要文件系统 XFS 的合并则较为平静,主要以错误修复和代码重构为主。

技术的发展总是在取舍与争论中前行。从淘汰旧硬件以减少代码维护负担,到严苛审视每一行新增代码的质量,再到为现代网络和存储需求提供新功能,这些动态共同勾勒出开源世界真实的演进图谱。想了解更多深度技术讨论与资源,欢迎访问 云栈社区 ,与广大开发者一同交流成长。




上一篇:基线检查详解:从概念到实践,筑牢系统安全第一道防线
下一篇:iPhone 18 Pro设计前瞻:A20 Pro芯片领衔,屏幕、影像、续航全面进化
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-16 20:06 , Processed in 0.736167 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表