QCon北京|3天沉浸式学习,跳出信息茧房。 了解详情
写点什么

Linus 大佬展现恐怖业务实力:只改动 21 行代码,Linux 性能狂升 2.6%

  • 2024-11-12
    北京
  • 本文字数:1759 字

    阅读完需:约 6 分钟

大小:819.11K时长:04:39
Linus大佬展现恐怖业务实力:只改动21行代码,Linux性能狂升2.6%

短短 21 行代码,再次证明这位开源大佬恐怖的业务实力。

 

开源大师 Linus Torvalds 提交的一段简短代码变更,显著提高了 Linux 系统的多线程性能。

 

此番提交的代码拥有一个朗朗上口的名号 x86/uaccess:避免在 64 位 copy_from_user()中使用 barrier_nospec()。此补丁是一项安全调整,旨在应对 2018 年曝出的 Meltdown 和 Spectre 等安全漏洞。遗憾的是,这些问题不仅没有消失,而且根据外媒上个月的相关报道,此类攻击活动仍然存在。

 

Meltdown 和 Spectre 是近年来在 Intel、AMD、Apple 和 ARM 处理器中发现的严重安全漏洞。这些漏洞源于芯片的设计缺陷,几乎所有 PC 和智能手机用户都受其影响。特别是由于 Intel 和 IBM POWER 处理器在市场中的广泛应用,因此这一硬件缺陷对信息安全的影响范围极大。

 

另外该缺陷的危险程度之高(无需特权即可访问敏感资料所在的存储器空间),曾一度令信息安全人员及机构怀疑缺陷的真实性。

 

除更换 PC 处理器以外,消除漏洞的唯一方法是修补操作系统,包括 Linux 系、Android、OS X/macOS、Windows 等等都有相应的修复程序(像是 Linux 的内核页表隔离技术),但是软件规避将导致处理器性能的显著下降。

 

Netflix 工程师 Brendan Gregg 曾表示,Linux 针对 Meltdown 的缓解措施 KPTI 导致了“我见过的最大的内核性能倒退”,尤其是在高系统调用率、上下文切换率、页面错误率和工作集大小的情况下。缓解 Meltdown 的 KPTI 补丁可能会带来巨大的开销,从 1% 到 800% 不等。多年来,社区也一直在探索减少 Meltdown 带来的开销的办法。

 

此次 Linus 的补丁是对红帽开发人员 Josh Poimboeuf 此前提交补丁的重写,大佬对其进行了修改以提升性能表现。他在提交中写道,“内核测试机器人报告称,per_thread_ops 基准测试性能提高了 2.6%。”

 

从本质上讲,Torvalds 找到了一种在不影响性能的情况下实现相同安全结果的方法。这可能会对需要高性能和强大安全性的 Linux 系统(例如 Web 服务器)产生影响。很少有人对 Linux 和 x86 CPU 架构有如此深入的了解,以至于他们可以在这个层面上获得性能提升。

 

小改动大幅提升 Linux 性能

 

总之,这个优化就是一个典型的“小优化,大收益”的例子。

 


- 即使在实际环境中只有 2.6% 的性能提升,也能节省数亿美元的电力和 HVAC 成本。

- 这位朋友一个人就把气候变化延缓了几天。

 


截图来源:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0fc810ae3ae110f9e2fcccce80fc8c8d62f97907

 

Linus 的版本不再使用 barrier_nospec() API,新补丁可防止某些机器码发生推测执行。所谓推测执行是现代 CPU 中的一项功能,其使用分支预测来尝试预判未来可能需要运行哪些程序代码,以便提前运行并缓存其结果。如果预测正确则可以节约时间;如果预测不正确,则结果将被丢弃。问题是,这会带来一种特殊形式的安全问题,科学家们则一直在为此寻求解决办法。

 

相反,如果因地址无效而不允许调用 copy_from_user(),则该补丁会使用指针掩码返回内容为全 1 的地址。

 

防御此类攻击显然是种不得已而为之的手段。作为 Web 服务器等应用场景下的主要操作系统,Linux 必须锁定此类机器以抵御任何可能出现的攻击,甚至不惜以牺牲性能增强功能为代价。这虽然能让服务器更安全,但也使其运行速度更慢。Linus 则向来反对这种用性能换安全的“拙劣”方案。

 

(在不接受入站连接的本地独立台式机或者笔记本电脑上,大家可以关闭这些功能,在相对安全的环境下获得更好的性能——但前提是各位要清楚自己在做什么,并接受这种发生概率不大、但却客观存在的风险。)

 

虽然这次解决的不算什么大问题,但仍然解释了为什么这位 Linux 内核掌门人有资格每年从 Linux 基金会手中赚取过百万美元。确实很少有人拥有他这样的技术和知识水平,特别是在 x86 架构领域。而且拥有同等水平的顶尖精英也多数在为各大芯片开发巨头服务。他们签署了保密协议,所以无权介入此事。也正因为如此,在加入 Linux 基金会之前,Linus 还曾经收到过芯片供应商 Transmeta 抛出的橄榄枝。他为该公司提供了构建 Crusoe VLIW 芯片所必需的底层专业知识,使得该款芯片成功获得了对 x86-32 代码的模拟能力。

 

参考链接:

https://www.theregister.com/2024/11/06/torvalds_patch_linux_performance/

https://www.zdnet.com/article/linux-meltdown-patch-up-to-800-percent-cpu-overhead-netflix-tests-show/

2024-11-12 10:462981

评论

发布
暂无评论
发现更多内容

12月发布两大特别专区!一图了解龙蜥社区大事件

OpenAnolis小助手

开源 操作系统 运营

Apache 基金会年度报告 | ShardingSphere 代码提交量位列前十

SphereEx

数据库 开源 基金会 ShardingSphere SphereEx

盘点 2022 云原生实战峰会重磅发布

阿里巴巴云原生

阿里云 开源 容器 云原生

【数据库】查询优化之子连接优化

恒生LIGHT云社区

数据库 sql SQL子查询 子查询

main函数你到底知道多少

恒生LIGHT云社区

后端 开发 Java’ main方法

【有奖评测】无影云电脑评测征集令,晒出评测赢万元豪礼

阿里云弹性计算

阿里云 无影云电脑 征文活动

java开发之SpringBoot实现自动执行代码

@零度

JAVA开发 springboot

白话大数据 | 元宇宙来了,但是你了解元数据吗?

星环科技

元数据

MASA Framework - 整体设计思路

MASA技术团队

C# .net 框架 Framework dapr

rosdep update遇到ERROR: error loading sources list: The read operation timed out问题

Ayosh

ROS

极客星球 | MobPush之FCM离线消息解密

MobTech袤博科技

FCM 离线消息

复旦大学陈平博士:网络攻击猖獗,如何应对数据安全与内生安全挑战?

星环科技

网络安全

阿里云视频云vPaaS低代码音视频工厂:极速智造,万象空间

阿里云CloudImagine

音视频 低代码 视频云 视频开发

【分布式技术专题】「Zookeeper系列」为大家介绍一下 Zookeeper 的"开发伴侣"—Curator-Framework(组件篇)

洛神灬殇

zookeeper ZooKeeper原理 1月月更 Curator-Framework

为企业选择合适的CRM系统的技巧

低代码小观

CRM 客户关系管理 CRM系统 客户关系管理系统 企业管理软件

如何高效上架HarmonyOS原子化服务?这个平台帮你搞定!

HarmonyOS开发者

HarmonyOS

大数据开发之Spark SQL 的 Catalyst介绍

@零度

大数据 spark SQL

网易云信又双叒受到Gartner关注,看看这次的报告说了什么?

网易云信

Gartner 通信平台 CPaaS

阿里云消息队列 2021 新功能新特性重要里程碑

阿里巴巴云原生

kafka 阿里云 RocketMQ 云原生 消息队列

Form 表单在数栈的应用(上): 校验篇

袋鼠云数栈

大数据 前端

星环科技AIoT平台让工业制造设备更智能、更耐用

星环科技

澳鹏中国智能可配置工作流(Workflow 2.0)全新升级

澳鹏Appen

人工智能 工作流 workflow 数据标注 训练数据

人员流动大,简历管理纷杂怎么办?用低代码可以解决嘛?

优秀

低代码

热门链游GameFi项目Radio Caca 联手Hoo虎符撒空投

区块链前沿News

Hoo 虎符交易所 链游 RACA

Android技术分享| Android WebRTC 对 AudioRecord 的使用

anyRTC开发者

android 音视频 WebRTC 移动开发 AudioRecord

【分布式技术专题】「Zookeeper系列」为大家介绍一下Zookeeper的"开发伴侣"—Curator-Framework(基础篇)

洛神灬殇

zookeeper curator 1月月更 CuratorFramework

数据库审计设备选择哪家好?谁能告知?

行云管家

数据库 服务器 数据库审计

【堡垒机】2022年企业买堡垒机就选行云管家!五大优点看这里!

行云管家

等保 堡垒机 过等保 等保2.0

深度解读企业云上办公利器「无影云电脑」

阿里云弹性计算

阿里云 无影云电脑

恒源云(GPUSHARE)_CV领域有关【直方图】的论文小记

恒源云

深度学习 CV

有关 TiDB 升级的二三事——教你如何快乐升级

PingCAP

Linus大佬展现恐怖业务实力:只改动21行代码,Linux性能狂升2.6%_开源_核子可乐_InfoQ精选文章