V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dyxang
V2EX  ›  程序员

Intel CPU BUG:迫使重新设计 Linux 和 Windows,可能电脑性能会下降 30%

  •  
  •   dyxang ·
    dyxang · 2018-01-03 21:16:34 +08:00 via Android · 7646 次点击
    这是一个创建于 2275 天前的主题,其中的信息可能已经有所发展或是发生改变。
    英特尔处理器芯片爆出了一个根本性的设计缺陷,已迫使业界大刀阔斧地重新设计 Linux 内核和 Windows 内核,旨在消除这个芯片层面的安全缺陷。

    广大程序员正竞相全面改动开源 Linux 内核的虚拟内存系统。与此同时,预计微软会在即将到来的周二补丁日( Patch Tuesday )公开宣布对其 Windows 操作系统所作的必要改动:这些更新已发给在去年 11 月和 12 月运行快速更新通道( fast-ring )的 Windows Insider 版本的 beta 测试人员。

    至关重要的是,针对 Linux 和 Windows 的这些更新将会给英特尔产品的性能带来影响。实际影响仍在测试当中,不过我们估计性能大概会因此降低 5%到 30%,这取决于具体的任务和处理器型号。最近面市的英特尔芯片拥有 PCID 等功能特性,可以缓解性能受影响这个问题。

    https://f11.baidu.com/it/u=3351647494,3190822991&fm=173&s=0D82FD1205585DC80CE525DE0000C0B3&w=627&h=320&img.JPEG&access=215967316

    据悉,该缺陷存在于过去十年生产的现代英特尔处理器中。它让普通的用户程序(从数据库应用软件到互联网浏览器中的 JavaScript )在一定程度上得以发现受保护内核内存里面的数据。
    解决方法就是,使用所谓的内核页表隔离( KPTI )功能,将内核的内存与用户进程完全分离开来。Linux 内核开发团队一度考虑过 Forcefully Unmap Complete Kernel With Interrupt Trampolines (又名 FUCKWIT ),让你了解这个问题对开发人员来说有多烦人。
    只要运行中的程序需要执行任何有用的操作,比如写入到文件或建立网络连接,它就要暂时将处理器的控制权交给内核以便执行任务。为了尽可能快速而高效地从用户模式切换到内核模式,再切换回到用户模式,内核存在于所有进程的虚拟内存地址空间中,不过这些程序看不见内核。需要内核时,程序进行系统调用,处理器切换到内核模式,进入内核。完成后,CPU 被告知切换回到用户模式,重新进入进程。在用户模式下,内核的代码和数据依然看不见,但存在于进程的页表中。
    不妨把内核想象成坐在云上的上帝,俯视地球。上帝就在那里,芸芸众生都看不到它,但他们可以向上帝祈祷。
    这些 KPTI 补丁将内核移到一个完全分离开来的地址空间,那样不仅运行中的进程看不见它,它甚至根本就不在那里。实际上,不应该需要这个,但英特尔芯片中存在的缺陷显然让内核访问保护机制可以被人以某种方式绕过。
    这种分离的缺点在于,针对每次系统调用和来自硬件的每次中断,不断地在两个独立的地址空间之间来回切换,这从时间方面来看开销相当大。这种上下文切换不会瞬间发生,并迫使处理器倒出缓存数据,并从内存重新装入信息。这就增加了内核的开销,减慢了计算机的运行速度。
    因此,你那搭载英特尔芯片的机器运行起来会变慢。

    微信全文 http://ffff.im/BjVU
    41 条回复    2018-01-05 18:00:32 +08:00
    xuanboyi
        1
    xuanboyi  
       2018-01-03 21:45:18 +08:00 via iPhone
    这标题,uc 今日头条见
    aalska
        2
    aalska  
       2018-01-03 21:50:42 +08:00
    @xuanboyi 重新设计内核 看上去好像也和重新设计 linux,window 没什么毛病
    dyxang
        3
    dyxang  
    OP
       2018-01-03 21:55:55 +08:00 via Android
    @xuanboyi 中华文化博大精深,用词要看个人理解😓
    stabc
        4
    stabc  
       2018-01-03 22:03:08 +08:00
    确实标题党
    Nitroethane
        5
    Nitroethane  
       2018-01-03 22:17:35 +08:00 via Android
    @stabc @xuanboyi 没有标题党吧,本来就是这样啊
    28661
        6
    28661  
       2018-01-03 22:20:24 +08:00 via Android
    个人用的话,都会自动打补丁吧。为什么看其他网站还有很多人都说对个人用没影响?
    neoblackcap
        7
    neoblackcap  
       2018-01-03 22:23:59 +08:00
    这个新闻今天看了,标题的确很符合内容,没有夸大。毕竟就算是 10 年前的 CPU 也会影响,说对内核没有影响完全不可能。毕竟是 KPIT 这样一个重大改动。不管是什么程序都会被影响到,真是上了 Intel 的贼船了。还有新闻报道 Intel 的 CEO 最近抛了大量股票,感觉是东窗事发了。
    dyxang
        8
    dyxang  
    OP
       2018-01-03 22:28:59 +08:00 via Android
    @28661 不仅是个人用,“攻击影响常见的虚拟化环境,包括亚马逊 EC2 和谷歌计算引擎……
    微软的 Azure 云不光运行 Windows,还运行大量 Linux。”
    还有就是我也听到说游戏用主机没有影响,也不知道为什么。
    hanru
        9
    hanru  
       2018-01-03 22:34:11 +08:00 via Android   ❤️ 1
    微信原文,全文翻译自 The Register 的文章,没有说明来源。
    jones
        10
    jones  
       2018-01-03 23:24:48 +08:00 via Android
    我想知道的是 OSX 内核是否也受影响,苹果是不是也会发布更新,尤其是会不会为 10.11.x 这个前两代的系统发布更新
    miketeam
        11
    miketeam  
       2018-01-03 23:27:33 +08:00 via iPhone
    我今天刚下单买苹果笔记本,看来要退货了
    huclengyue
        12
    huclengyue  
       2018-01-03 23:48:35 +08:00 via Android
    @jones osx 也有影响
    cest
        13
    cest  
       2018-01-04 00:16:31 +08:00
    @dyxang ps4 xb1 都是 amd
    ItzhacLea
        14
    ItzhacLea  
       2018-01-04 03:44:32 +08:00
    @jones
    @huclengyue

    macOS 10.13.2 已經啓用了「 Double Map 」,等同於 Linux 的 KPIT。

    ref: https://twitter.com/aionescu/status/948609809540046849
    lsmgeb89
        15
    lsmgeb89  
       2018-01-04 04:06:14 +08:00
    好像最新一代不受影响,应该不太标题,用户态到内核态切换的开销确实很大。
    RqPS6rhmP3Nyn3Tm
        16
    RqPS6rhmP3Nyn3Tm  
       2018-01-04 04:39:49 +08:00 via iPhone
    农企翻身了!农企又翻身了!
    农企翻过去了!
    msg7086
        17
    msg7086  
       2018-01-04 05:53:26 +08:00
    @lsmgeb89 看别人讨论的情形,最新一代假如已经设计完了的话估计要返工了,不知道什么时候才会发布了……
    grikr
        18
    grikr  
       2018-01-04 07:12:39 +08:00 via Android
    点名批评一楼,四楼,什么都不查一下上来就标题党? zz 吗?
    lisonfan
        19
    lisonfan  
       2018-01-04 07:16:44 +08:00
    @BXIA #16 英特尔发新闻稿说 AMD 和 ARM 也是一样的
    clavichord93
        20
    clavichord93  
       2018-01-04 08:15:30 +08:00 via iPhone
    @lisonfan AMD 在设计之初就是双页表设计的,所以肯定没影响。ARM64 就不好说了…
    lzvezr
        21
    lzvezr  
       2018-01-04 08:21:08 +08:00 via iPhone   ❤️ 2
    这么多年的牙膏一下子抽回去了?
    7654
        22
    7654  
       2018-01-04 08:21:28 +08:00
    我在另一篇文章中看到是约 20%的性能下降,这里已经发展成 30%了
    49gd
        23
    49gd  
       2018-01-04 08:24:55 +08:00
    农企日常翻身
    ionblue
        24
    ionblue  
       2018-01-04 08:55:28 +08:00 via Android   ❤️ 1
    当硬件出了 bug,弥补代价太大的时候该怎么办?
    1. 拉同行下水
    2. 不影响用户体验

    华为,你把刀放下,这次没有说你。
    o00o
        25
    o00o  
       2018-01-04 09:01:30 +08:00
    WIT:Why me, should be FUCKINTEL
    shutongxinq
        26
    shutongxinq  
       2018-01-04 09:02:01 +08:00
    @ItzhacLea 链接说 INVPCID Haswell 就完全支持了,是不是可以认为对大多数现役电脑,如果 kernel 用了 PCID 之类的防止把 TLB 刷没了,性能下降不大?
    hhacker
        27
    hhacker  
       2018-01-04 09:02:31 +08:00
    FUCKWIT 笑喷
    cheng123xp
        28
    cheng123xp  
       2018-01-04 09:23:59 +08:00 via Android
    谷歌的报告说 AMD 和 ARM 也有这个缺陷。
    https://www.phoronix.com/scan.php?page=news_item&px=Google-CPU-Disclosure
    loolac
        29
    loolac  
       2018-01-04 09:27:27 +08:00
    就是说,我们花了钱,买了个虚假的性能提升?
    wwhc
        30
    wwhc  
       2018-01-04 09:38:04 +08:00
    @cheng123xp

    Meltdown 仅在 Intel cpu 上验证成功

    https://meltdownattack.com/
    jadeity
        31
    jadeity  
       2018-01-04 09:50:02 +08:00
    这是不是说当初就是以牺牲安全性换取性能的?
    jedihy
        32
    jedihy  
       2018-01-04 09:52:21 +08:00
    AMD 有同样的问题
    xuhaoyangx
        33
    xuhaoyangx  
       2018-01-04 10:06:48 +08:00
    @wwhc #30 只是 intel 能完成攻击
    JackBlack2006
        34
    JackBlack2006  
       2018-01-04 10:10:42 +08:00
    欧盟表示又能罚英特尔 AMDARM 一笔大钱了

    ARM 表示日了 Brexit (滑稽)
    JackBlack2006
        35
    JackBlack2006  
       2018-01-04 10:13:24 +08:00
    AMD 方面似乎 Ryzen 系列安全,FX 系列中枪,再之前的羿龙翼龙系安全?
    jjx
        36
    jjx  
       2018-01-04 10:14:44 +08:00
    后端的噩梦啊, 辛辛苦苦的优化一个更新就没有了



    https://www.zhihu.com/question/265012502

    目前 phoronix 已对此进行了测试,IO 性能几乎下降了 50%,编译性能下降了接近 30%,postgresql 和 redis 也有差不多 20%的性能下跌,详细地址:Initial Benchmarks Of The Performance Impact Resulting From Linux's x86 Security Changes

    作者:Allen Leung
    链接: https://www.zhihu.com/question/265012502/answer/288199200
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    snakejia
        37
    snakejia  
       2018-01-04 11:42:28 +08:00
    这么搞会不会导致一波换机潮啊
    panyuz
        38
    panyuz  
       2018-01-04 11:53:22 +08:00
    上个月刚买的机器
    crabRunning
        39
    crabRunning  
       2018-01-04 15:17:02 +08:00
    已经开始陆续收到各大云厂商的邮件通知了
    aksoft
        40
    aksoft  
       2018-01-04 15:59:54 +08:00
    这意思是 你们新买的 i7 和我 3 年前的 i7 一个水平了。。。
    titanp
        41
    titanp  
       2018-01-05 18:00:32 +08:00
    @aksoft 不不不,你的 i7 也得退三年
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3317 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 11:24 · PVG 19:24 · LAX 04:24 · JFK 07:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.