0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OSC开源社区 来源:OSC开源社区 作者:OSC开源社区 2022-12-21 11:11 次阅读

英特尔希望将其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)功能。

a452ef28-8068-11ed-8abf-dac502259ad0.jpg

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

a462edce-8068-11ed-8abf-dac502259ad0.png

然而,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 做准备。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    60

    文章

    9428

    浏览量

    168893
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66814
  • Lam
    Lam
    +关注

    关注

    0

    文章

    5

    浏览量

    6695

原文标题:Linus批评英特尔的LAM代码,拒绝将其合并到内核

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英特尔:2025年全球AIPC将超1亿台占比20%

    英特尔行业资讯
    北京中科同志科技股份有限公司
    发布于 :2024年02月29日 09:15:26

    英特尔1nm投产时间曝光!领先于台积电

    英特尔行业芯事
    深圳市浮思特科技有限公司
    发布于 :2024年02月28日 16:28:32

    英特尔再创辉煌!1.4nm芯片工艺领航微电子时代,工业界的新里程碑?

    英特尔行业资讯
    北京中科同志科技股份有限公司
    发布于 :2024年02月26日 08:58:21

    沃达丰拒绝与Iliad合并意大利业务

    法国电信运营商Iliad SA近日宣布,沃达丰已拒绝了其合并两家公司在意大利业务的提议。Iliad最初于2023年12月18日提出这一要约,并随后提交了进一步修订的提案,旨在将Iliad意大利公司和沃达丰意大利公司合并为一个新的
    的头像 发表于 02-02 10:14 220次阅读

    英特尔登顶2023年全球半导体榜单之首

    英特尔行业芯事
    深圳市浮思特科技有限公司
    发布于 :2024年02月01日 11:55:16

    冬季风暴导致Linus Torvalds暂停Linux 6.8内核开发

    Linus Torvalds 在内核邮件列表宣布,由于他位于美国俄勒冈州波特兰的居住地遭遇严重冬季风暴,导致网络和电力中断,他所在的波特兰附近地区气温降至 -10°C,因此他不得不暂停 Linux 6.8 内核
    的头像 发表于 01-17 11:01 330次阅读
    冬季风暴导致<b class='flag-5'>Linus</b> Torvalds暂停Linux 6.8<b class='flag-5'>内核</b>开发

    英特尔酷睿14代处理器系列发布,Arrowlake/LunarLake24年问世

    处理器英特尔
    looger123
    发布于 :2024年01月10日 17:44:38

    #高通 #英特尔 #Elite 高通X Elite芯片或终结苹果、英特尔的芯片王朝

    高通英特尔苹果
    深圳市浮思特科技有限公司
    发布于 :2023年10月27日 16:46:07

    安装OpenVINO工具套件英特尔Distribution时出现错误的原因?

    安装OpenVINO™工具套件英特尔 Distribution时,出现错误: Python 3.10.0.ECHO is off. Unsupported Python version.
    发表于 08-15 08:14

    英特尔媒体加速器参考软件Linux版用户指南

    英特尔媒体加速器参考软件是用于数字标志、交互式白板(IWBs)和亭位使用模型的参考媒体播放器应用软件,它利用固定功能硬件加速来提高媒体流速、改进工作量平衡和资源利用,以及定制的图形处理股(GPU)管道解决方案。该用户指南将介绍和解释如何为Linux* 使用英特尔媒体加速器
    发表于 08-04 06:34

    Arduino上的英特尔数学内核

    电子发烧友网站提供《Arduino上的英特尔数学内核库.zip》资料免费下载
    发表于 06-15 15:12 0次下载
    Arduino上的<b class='flag-5'>英特尔</b>数学<b class='flag-5'>内核</b>库

    Linux内核代码的静态检查

    Linus在2004年开发了kernel代码静态检查工具,可以检查出kernel中潜在的风险代码
    的头像 发表于 06-05 14:50 725次阅读

    Linux 6.4-rc1发布了

    https://lkml.org/lkml/2023/5/7/206 Linus Torvalds 本周初发布了 Linux 6.4-rc1,这也标志着令人兴奋的 Linux 6.4 周期合并窗口
    发表于 05-25 08:18

    Linus亲自修改英特尔的“屎山”代码

    天真的 “掩码和范围检查”,它不仅生成多余的代码,还意味着 __access_ok 本身的任务做得不好, copy_from_user_nmi () 没有得到正确的检查。
    的头像 发表于 05-10 10:53 528次阅读
    <b class='flag-5'>Linus</b>亲自修改<b class='flag-5'>英特尔</b>的“屎山”<b class='flag-5'>代码</b>

    曾被Linus点名批评的功能,现已合并到Linux 6.4中

    英特尔在 2020 年初次对外展示 LAM,此后一直致力于为其提供 Linux 内核支持。Intel LAM 最初提交到了 Linux 6.2 合并
    的头像 发表于 05-05 10:06 406次阅读
    曾被<b class='flag-5'>Linus</b>点名<b class='flag-5'>批评</b>的功能,现已<b class='flag-5'>合并到</b>Linux 6.4中