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

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

3天内不再提示

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

OSC开源社区 来源:OSC开源社区 2023-05-10 10:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

去年年底英特尔将 LAM(Linear Address Masking :线性地址掩码) 功能提交到 Linux 6.2 的合并窗口,但该功能受到 Linus 的批评并拒绝合并。在经历了一段时间的代码改进后,Linus 终于同意将 LAM 代码合并到 Linux 6.4 窗口。

但 Linus 似乎仍对英特尔工程师提交的代码不太满意,在合并了 LAM 代码后,先是写了一个使 access_ok () 独立于 LAM 的新补丁,而后又亲手写了多个补丁对 LAM 代码进行了优化。

f1377054-ee70-11ed-90ce-dac502259ad0.png

在最新提交的 LAM 优化补丁中,Linus 解释了自己的动机:

我对此版本中的 LAM(“线性地址掩码”)的 “access_ok ()” 的完成方式感到很不爽,而且它实际上也有一些小 Bug ,所以我动手清理了代码。

改动主要集中在以下几方面:

使用 __user 指针的符号位而不是屏蔽地址,并根据 TASK_SIZE 范围检查它。 get/put_user () 端做了这部分,但是 ‘access_ok ()’ 做了天真的 “掩码和范围检查”,它不仅生成多余的代码,还意味着 __access_ok 本身的任务做得不好, copy_from_user_nmi () 没有得到正确的检查。

将所有 64 位代码仅移动到 64 位版本的头文件中,这样就不会污染共享的 x86 代码,也不会误导用户 LAM 可以在 32 位环境中工作。

修复地址掩码中的 Bug(这不重要,只是完全删除了错误的代码)。

几个简单的清理,并添加了关于 access_ok () 规则的注释。

Linus 重新编写了约一百行代码来清理 LAM ,这意味着如果测试没问题, 就可以在 Linux 6.4 中顺利启用 LAM 功能。不过这次 Linus 竟然亲自动手为英特尔工程师修改 “有瑕疵的代码”,这种情况相当少见。

审核编辑 :李倩

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

    关注

    61

    文章

    10275

    浏览量

    179269
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217928
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73128

原文标题:Linus亲自修改英特尔的“屎山”代码

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    英特尔举办行业解决方案大会,共同打造机器人“芯”动脉

    11月19日,在2025英特尔行业解决方案大会上,英特尔展示了基于英特尔® 酷睿™ Ultra平台的最新边缘AI产品及解决方案,并预览了针对边缘侧的英特尔® 酷睿™ Ultra处理器(
    的头像 发表于 11-19 21:51 4918次阅读
    <b class='flag-5'>英特尔</b>举办行业解决方案大会,共同打造机器人“芯”动脉

    英特尔修改芯片法案协议 提前获得约57亿美元现金支援

    据外媒报道;   在美东时间周五英特尔公司传出好消息。英特尔宣布已修改与美国商务部达成的芯片法案资金协议,新协议取消此前设定的项目里程碑要求,并提前获得约57亿美元现金。但是该笔资金有一些限制要求
    的头像 发表于 08-31 20:19 706次阅读

    使用英特尔® NPU 插件C++运行应用程序时出现错误:“std::Runtime_error at memory location”怎么解决?

    使用OpenVINO™工具套件版本 2024.4.0 构建C++应用程序 使用英特尔® NPU 插件运行了 C++ 应用程序 遇到的错误: Microsoft C++ exception: std::runtime_error at memory location
    发表于 06-25 08:01

    英特尔锐炫Pro B系列,边缘AI的“智能引擎”

    2025年6月19日,上海—— 在MWC 25上海期间,英特尔展示了一幅由英特尔锐炫™ Pro B系列GPU所驱动的“实时响应、安全高效、成本可控”的边缘AI图景。 英特尔客户端计算事业部边缘计算
    的头像 发表于 06-20 17:32 693次阅读
    <b class='flag-5'>英特尔</b>锐炫Pro B系列,边缘AI的“智能引擎”

    直击Computex2025:英特尔重磅发布新一代GPU,图形和AI性能跃升3.4倍

    5月19日,在Computex 2025上,英特尔发布了最新全新图形处理器(GPU)和AI加速器产品系列。包括全新英特尔锐炫™ Pro B系列GPU——英特尔锐炫Pro B60和英特尔
    的头像 发表于 05-20 12:27 5146次阅读
    直击Computex2025:<b class='flag-5'>英特尔</b>重磅发布新一代GPU,图形和AI性能跃升3.4倍

    英特尔发布全新GPU,AI和工作站迎来新选择

    英特尔推出面向准专业用户和AI开发者的英特尔锐炫Pro GPU系列,发布英特尔® Gaudi 3 AI加速器机架级和PCIe部署方案   2025 年 5 月 19 日,北京 ——今日,在
    发表于 05-20 11:03 1664次阅读

    英特尔宣布裁员20% 或2万人失业

    据外媒彭博社的报道,在当地时间4月24日,英特尔宣布裁员计划,比例超20%。按照截至2024年底英特尔在全球拥有108900名员工来计算的话,预计此次裁员将波及大约2.2万名员工。旨在精简管理,并重
    的头像 发表于 04-25 17:34 483次阅读

    为什么无法检测到OpenVINO™工具套件中的英特尔®集成图形处理单元?

    在 Ubuntu* Desktop 22.04 上安装了 英特尔® Graphics Driver 版本并OpenVINO™ 2023.1。 运行 python 代码: python -c
    发表于 03-05 08:36

    请问OpenVINO™工具套件英特尔®Distribution是否与Windows® 10物联网企业版兼容?

    无法在基于 Windows® 10 物联网企业版的目标系统上使用 英特尔® Distribution OpenVINO™ 2021* 版本推断模型。
    发表于 03-05 08:32

    英特尔®独立显卡与OpenVINO™工具套件结合使用时,无法运行推理怎么解决?

    使用英特尔®独立显卡与OpenVINO™工具套件时无法运行推理
    发表于 03-05 06:56

    英特尔®NCS2运行演示时“无法在启动后找到启动设备”怎么解决?

    使用 英特尔® NCS2 运行 推断管道演示脚本 。 在首次尝试中成功运行演示应用程序。 从第二次尝试开始遇到错误:E: [ncAPI] [ 150951] [security_barrie
    发表于 03-05 06:48

    英特尔任命王稚聪担任中国区副董事长

    英特尔公司宣布,任命王稚聪先生担任新设立的英特尔中国区副董事长一职。王稚聪将全面负责管理英特尔中国的业务运营,直接向英特尔公司高级副总裁、英特尔
    的头像 发表于 03-03 10:54 878次阅读

    英特尔代工或引入多家外部股东

    据台湾媒体报道,英特尔代工业务可能迎来重大变革,计划引入包括台积电、高通、博通在内的多家外部股东。此举旨在提升美国本土先进半导体代工服务的竞争活力,进一步推动产业发展。 报道指出,高通和博通计划
    的头像 发表于 02-18 10:45 993次阅读

    英特尔带您解锁云上智算新引擎

    在近日举办的2024火山引擎FORCE原动力大会上,英特尔与火山引擎联合发布基于英特尔 至强 6 性能核处理器的第四代服务器实例,以打造弹性算力底座的产品化实践。同时,英特尔也携手扣子共同推出Coze-AIPC端云协同智能体开发
    的头像 发表于 12-23 14:05 1226次阅读

    英特尔推出全新英特尔锐炫B系列显卡

    英特尔锐炫B580和B570 GPU以卓越价值为时新游戏带来超凡表现。   > 今日,英特尔发布全新英特尔锐炫 B系列显卡(代号Battlemage)。英特尔锐炫 B580和B570
    的头像 发表于 12-07 10:16 1920次阅读
    <b class='flag-5'>英特尔</b>推出全新<b class='flag-5'>英特尔</b>锐炫B系列显卡