戳下方名片,关注并星标!
回复“1024”获取2TB学习资源!
👉体系化学习:运维工程师打怪升级进阶之路 4.0
MySQL / PostgreSQL / MongoDB
ElasticSearch / Hadoop / Redis
Kubernetes / Docker / DevOps
Nginx / Git / Tools / OpenStack
大家好,我是民工哥!
不愧是 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的修复。
👍 如果你喜欢这篇文章,请点赞并分享给你的朋友!
公众号读者专属技术群
构建高质量的技术交流社群,欢迎从事后端开发、运维技术进群(备注岗位,已在技术交流群的请勿重复添加微信好友)。主要以技术交流、内推、行业探讨为主,请文明发言。广告人士勿入,切勿轻信私聊,防止被骗。
扫码加我好友,拉你进群
博通宣布 VMware Workstation 和 Fusion 全部免费,支持商用
六款小众却功能强大的 Linux 系统!用过一半以上的都是高手
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!