前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不愧是 Linus!略微出手修改几行代码,就让 Linux 性能暴涨 2.6%,吊爆了

不愧是 Linus!略微出手修改几行代码,就让 Linux 性能暴涨 2.6%,吊爆了

作者头像
民工哥
发布2024-11-14 17:54:01
400
发布2024-11-14 17:54:01
举报
文章被收录于专栏:民工哥技术之路

大家好,我是民工哥!

不愧是 Linux 之父!仅修改 21 行代码,Linux 性能暴涨 2.6%!

Linux 操作系统的性能优化一直是一个复杂而精细的过程,需要深入理解系统的内部机制。

作为 Linux 内核的缔造者,Linus Torvalds 的技术水平一直备受赞誉。近期,他再次用实际行动证明了自己的能力:仅通过 21 行代码的优化,就让 Linux 内核的多线程性能提升了 2.6%。

近日,Linus Torvalds 向 Linux 内核合并了自己编写的一个补丁,该补丁号称通过修改几行代码,就在英特尔的性能基准测试中实现了 2.6% 的性能提升。

根据介绍,这个补丁的目的是避免在 64 位 copy_from_user () 函数中使用 barrier_nospec ()copy_from_user () 用于将数据块从用户空间复制到内核空间。

此补丁是一项安全调整,旨在应对 2018 年曝出的 Meltdown 和 Spectre 等安全漏洞。遗憾的是,这些问题不仅没有消失,而且根据外媒上个月的相关报道,此类攻击活动仍然存在。

Meltdown 和 Spectre 是近年来在 Intel、AMD、Apple 和 ARM 处理器中发现的严重安全漏洞。这些漏洞源于芯片的设计缺陷,几乎所有 PC 和智能手机用户都受其影响。

特别是由于 Intel 和 IBM POWER 处理器在市场中的广泛应用,因此这一硬件缺陷对信息安全的影响范围极大。

除更换 PC 处理器以外,消除漏洞的唯一方法是修补操作系统。

为了缓解这些漏洞,自 2018 年以来,Linux 内核就引入了barrier_nospec()等方法,可用于阻止特定情况下的预测执行,从而保障系统的安全性。然而,这类补丁的引入也导致了显著的性能下降,特别是在频繁使用系统调用或多线程切换的场景下。

Torvalds 一直是性能优先的坚定支持者。他认为,安全性补丁固然非常重要,但不应以牺牲过多性能为代价。

为了解决这一问题,Torvalds 提出了一个巧妙的解决方案:在地址无效的情况下,利用 pointer masking 技术来强制用户指针全为 1,从而规避了 barrier_nospec 的使用,提升了运行效率。

目前,这项备受瞩目的补丁已经成功合并至 Linux Git 仓库。即将在11月17日发布的Linux 6.12稳定版,将正式包含此次性能优化的改动。

此外,在6.12的开发过程中,Torvalds还陆续推出了多项改进和稳定性增强措施,包括对Bcachefs文件系统的优化以及多个bug的修复。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档