来源:OSC开源社区(ID:oschina2013)

英特尔希望将其 LAM(Linear Address Masking :线性地址掩码) 功能合并到 Linux 6.2,但该功能被 Linus 批评了一番,并拒绝了该合并。

英特尔线性地址掩码 (LAM) 允许软件将 64 位线性地址的未转换地址位用于元数据,线性地址使用 48 位(4 级分页)或 57 位(5 级分页),而 LAM 允许将 64 位线性地址的剩余空间用于元数据。

简而言之,英特尔 LAM 在使用用户空间地址的未翻译地址位,因此它可用于用户空间内存清理和标记等元数据的多种用途,它的本质上类似于 AMD 的高位地址忽略 “UAI”(Upper Address Ignore )以及 Arm 的顶部字节忽略 “TBI”(Top-Bits-Ignore)功能。

英特尔在 2020 年初次对外展示 LAM,从那以后一直致力于 Linux 内核支持。11 月中旬,英特尔工程师为 Linux 6.2 的 x86/mm 分支提交了大量补丁,希望将该功能代码合并到内核中。

然而,LAM 随即遭受了 Linus 的猛烈批评,不仅是内核实现代码,Linus 甚至连 “LAM” 这个名称都不满意:

现在要求英特尔将这个  LAM 功能称为 “Top-Bits-Ignore” (TBI) ,会不会有些太晚了?

...

整个 LAM  功能不是特定于 mm ,它可以轻松影响每个线程。

想象一下,有一个设置,其中一些线程使用标记指针,而一些线程不使用。例如,地址的高位可能包含一个仅在虚拟机中使用的标签,甚至可以让 “本机” 模式使用完整的地址空间,并将其自身及私有数据虚拟地放在高位。

再想象一下,使用虚拟地址掩码不仅能实现内存清理器,还能实现一种真实的分离功能(例如,JITed 代码可能基本上只能访问较低的位,而 JITter 本身可以看到整个地址空间)。

也许这不是 LAM 在 x86 上的工作方式,但它对 untagged_addr () 的更改并不是 x86 特定的。所以我真的认为这是完全错误的,除了命名之外, 它全都是一些无效的假设。事实上,这个特定于 mm 的 LAM 功能,最后只会成为代码中一个活跃的 Bug ,即使在 x86-64 上也是如此。

所以我真的认为 LAM 是一个根本性的设计错误,虽然我把它拉出来并解决了琐碎的冲突,但我又把它拉了下来,因为它的设计是错误的。

Linux 内核邮件列表讨论了对英特尔的 LAM 的 Linux 实现方式的设计更改。但 Linus 认为英特尔 LAM 代码还没有为 Linux 做好准备,因此最终没有合并代码。英特尔已提交新的 x86/mm pull ,但删除了 LAM 代码。英特尔 Linux 工程师将重新编写 LAM 代码,为 Linux 6.3 做准备。

相关链接:

  • https://lore.kernel.org/lkml/CAHk-=wi=TY3Kte5Z1_nvfcsEh+rcz86pYnzeASw=pbG9QtpJEQ@mail.gmail.com/

  • https://lore.kernel.org/lkml/CAHk-=whKuB=mno0a5i9g7hPGdKhz3d5DErTZZGs3FjMW4ap4GA@mail.gmail.com/

10T 技术资源大放送!包括但不限于:Linux、虚拟化、容器、云计算、网络、Python、Go 等。在 开源Linux 公众号内回复 10T,即可免费获取!

Linux学习指南
有收获,点个在看

Linus 批评英特尔的 LAM 代码,拒绝将其合并到内核相关推荐

  1. Linus批评英特尔的LAM代码,拒绝将其合并到内核

    英特尔希望将其 LAM(Linear Address Masking :线性地址掩码) 功能合并到 Linux 6.2,但该功能被 Linus 批评了一番,并拒绝了该合并. 英特尔线性地址掩码 (LA ...

  2. Linux作者批评英特尔指令集,英特尔回应 Linus Torvalds 对 AVX512 的批评

    英特尔回应 Linus Torvalds 对 AVX512 的批评 Linux 作者上个月抨击了英特尔的 AVX512 指令集. 他还希望该指令集能早日成为历史. Torvalds 不是唯一一位批评 ...

  3. Linux作者批评英特尔指令集,Linux之父炮轰英特尔:ECC内存很重要,不好买都怪你胡搞...

    原标题:Linux之父炮轰英特尔:ECC内存很重要,不好买都怪你胡搞 Linux之父炮轰英特尔:ECC内存很重要,不好买都怪你胡搞 原创PCEVA评测室2021-01-06 11:31:08 很多人认 ...

  4. “Linux之父”Linus 获颁英特尔首个终身创新成就奖

    作者:何苗 出品:CSDN资讯 Linus Torvalds大名鼎鼎,被认为是世界上最伟大的程序员之一,三十多年前开创了 Linux内核,写出了一款大获成功的类 Unix 操作系统.这款使用最广泛的软 ...

  5. 英特尔实感SDK 代码示例

    https://www.cnblogs.com/IDZPRC/p/4949639.html

  6. linux启动注册内存失财,Linux创建者开喷英特尔:扼杀ECC内存市场

    来源:内容由半导体行业观察(ID:icbank)编译自「tomshardware」,谢谢. 在最近的一个有关纠错码(ECC:error correction code )内存的谈论中,Linux的创建 ...

  7. 「重返18岁」!英特尔首任CTO重磅回归,以CEO身份重掌帅印

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 转载自:新智元 [导读]英特尔CEO司睿博(Bob Swan)将于2月15日离职.继任者是曾在英 ...

  8. 英特尔联合Facebook研发AI芯片:CPU老厂能在AI时代打好翻身仗吗

    https://www.toutiao.com/a6644002993349853699/ 2019-01-08 14:04:53 来自国外技术网站"technologyreview&quo ...

  9. 苹果面向Mac发布英特尔处理器漏洞缓解措施

    2019独角兽企业重金招聘Python工程师标准>>> 去年苹果向Safari浏览器推出安全更新以修复基于ARM价格和英特尔的处理器存在的推测执行系列安全漏洞. 不过当时苹果并未发布 ...

最新文章

  1. 矩阵的卷积核运算(一个简单小例子的讲解)深度学习
  2. 万豪酒店数据库遭入侵 5亿顾客信息或泄露
  3. 枚举目录下的目录和文件CFileFind
  4. 读取excel文件错误
  5. 共享未授予用户在此计算机上设置家庭组,Win10系统关闭了家庭组如何共享文件?...
  6. java基础 - 综合训练
  7. RDD之一:总体介绍
  8. 2.5.1 命令与参数
  9. 布隆过滤器实现原理及源码解析
  10. java中改变文本字体和大小_修改eclipse 代码字体大小以及文档字体大小
  11. 基于javaweb的校园自行车租赁管理系统(java+jsp+javascript+servlet+mysql)
  12. win11系统完全使用ie浏览器的方法
  13. 分步:配置 IPAM 以管理 IP 地址空间
  14. 【光电智造】机器人视觉伺服技术
  15. 九、Arduino 红外避障模块使用
  16. 常用LINUX命令汇总
  17. 老铁们,Arxiv每日论文服务美美上线啦
  18. 经纬度距离查询优化实例
  19. 10组小程序界面设计案例分享
  20. python opencv 保存图片_【python-opencv 】一、图像的加载与保存

热门文章

  1. win10系统wifi能连上但不能上网怎么办
  2. python方括号和圆括号_python方括号和圆括号
  3. 系统分析与控制_多智能体协同控制研究中各定位系统分析
  4. 中国互联网公司亏损能力排行榜
  5. ug后处理如何加密_UG后处理修改方法
  6. Android Alarm定时任务基础
  7. OHIF记录(二)——Viewers和React-vtk工具包互联
  8. [OHIF-Viewers]医疗数字阅片-医学影像-中间插播一下-es6-使用const加箭头函数声明函数相对于function声明函数有什么好处?...
  9. 32、Java——迷你图书管理器(对象+JDBC)
  10. 钉钉小程序如何判断其当前环境