这个世界上有好几个人被称为“仁慈的独裁者”,而Linus Torvals 是其中一位,他以吐槽队友和“抨击”一些供应商著名。
比如之前他希望AVX-512尽快死掉,还有英特尔开发的代码垃圾,称是崩溃和混乱的幽灵,还有Nvidia代码写的都不咋地等等。
近日,这位Linux创始人这两天又开始吐槽,主要是针对英特尔的新线性地址掩码(LAM)功能,他说英特尔想把这个功能收录到最新版本的Linux 6.2内核,需要重新编写代码。
LAM的全称为 Linear Address Masking,是英特尔在2020年推出的一项新功能,这家公司有一个团队专门致力开发 Linux 内核支持,近日他们希望与 Linux 6.2 内核代码合并,目前看来不可能了。
英特尔的LAM技术说明
从技术上讲,英特尔的LAM是关于使用用户空间地址的未编译的地址位,可以填充元数据。元数据指的是用户空间以及标签等用途。它类似于AMD的高位地址忽略(UAI)以及Zen 4和ARM的头部字节忽略(TBI)。
预计,LAM的特性将很快出现 Intel Sapphire Rapids的新型中央处理器家族之中。
Linus Torvalds 显然对Intel 在 Linux LAM的内核实现,包括名字都不太满意。英特尔团队想在Linux内核启用是在Linux 6.2的x86/mm代码提交的。
Linus Torvalds 仔细查看后,在内核邮件列表中这样说道:
基督啊,
现在要求英特尔将这个 LAM 功能称为 “Top-Bits-Ignore” (TBI) ,而不是添加另一个疯狂的TLA。我们都同意叫“TBI”,这会不会有些太晚了?
...
我真的认为对“untagged_addr()”的更改从根本上被破坏了。
整个 LAM (或称BTI)功能不是特定于 mm (“mm”指的是 struct mm_struct,它是内核中的一个基本对象,大致描述一个进程地址空间。),它可以轻松影响每个线程。
想象一下,如果你愿意的话,你有一些线程使用标记指针的设置,其中一些线程使用标记指针,而一些线程不使用。例如,地址的高位可能包含一个仅在虚拟机中使用的标签,甚至可以让 “本机” 模式使用完整的地址空间,并将其自身及私有数据虚拟地放在高位。
再想象一下,使用虚拟地址掩码不仅能实现内存清理器,还能实现一种真实的分离功能(例如,JITed 代码可能基本上只能访问较低的位,而 JITter 本身可以看到整个地址空间)。
也许这不是 LAM 在 x86 上的工作方式,但它对 untagged_addr () 的更改并不是 x86 特定的。所以我真的认为这是完全错误的,除了命名之外, 它全都是一些无效的假设。事实上,这个特定于 mm 的 LAM 功能,最后只会成为代码中一个活跃的 Bug ,即使在 x86-64 上也是如此。
所以我真的认为 LAM 是一个根本性的设计错误,虽然我把它拉出来并解决了琐碎的冲突,但我又把它拉了下来,这是因为它的设计是错误的。
随后,Linux 内核邮件列表讨论了可能对 Intel 的线性地址掩码在 Linux 中的实现方式进行的设计更改。但是根据这些人的各种讨论,Torvalds 认为英特尔 LAM 代码还没有为 Linux 做好准备,最终没有被提取代码。
让Torvalds产生错误共鸣的是它的软件支持,而不是英特尔的硬件本身。
Intel LAM 没能登陆 Linux 6.2,Torvalds 对它的内核实现不满意,并且认为支持它的一些内核更改“从根本上被破坏了”......在理想世界中,他也更喜欢让它重新被贴牌。
目前 Linux 内核小组已提交了新的 x86/mm pull ,但已经删除了 LAM 代码和相关启用。英特尔 Linux 工程师将重新编写 LAM 代码,并希望以一种让 Linus Torvalds 提议的代码形式,以使他更开心,然后为 Linux 6.3 准备好重新编写的代码实现。
有网友评论道:
mouW:Ah!Linus 看起来他终于从之前的心理攻击中恢复过来,重新做回自己
Linux 的未来又是光明的了
jason:除了这让我发笑之外,我还希望有人能快速向我解释什么是“mm”,这样我就能弄清楚到底发生了什么。另外请注意,在 US-ASCII 中只有 676 个可用的双字母首字母缩略词,因此我们应该谨慎使用它们。
old wang:呵呵,我敢打赌 Linus 不会那么反对 AVX-512。
UnionMD:他使用的最强烈的词是“基督”。他用现实世界的例子提出了建议,这不是攻击。
Roger:Linus 显然对补丁有一些问题,并且乐于直言不讳,而不是使用令人困惑的影射“拐弯抹角”。
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。