英特爾希望將其LAM(Linear Address Masking :線性地址掩碼) 功能合并到Linux 6.2,但該功能被 Linus 批評(píng)了一番,并拒絕了該合并。
英特爾線性地址掩碼 (LAM) 允許軟件將 64 位線性地址的未轉(zhuǎn)換地址位用于元數(shù)據(jù),線性地址使用 48 位(4 級(jí)分頁)或 57 位(5 級(jí)分頁),而 LAM 允許將 64 位線性地址的剩余空間用于元數(shù)據(jù)。
簡而言之,英特爾 LAM 在使用用戶空間地址的未翻譯地址位,因此它可用于用戶空間內(nèi)存清理和標(biāo)記等元數(shù)據(jù)的多種用途,它的本質(zhì)上類似于 AMD 的高位地址忽略 “UAI”(Upper Address Ignore )以及 Arm 的頂部字節(jié)忽略 “TBI”(Top-Bits-Ignore)功能。
英特爾在 2020 年初次對(duì)外展示 LAM,從那以后一直致力于 Linux 內(nèi)核支持。11 月中旬,英特爾工程師為 Linux 6.2 的 x86/mm 分支提交了大量補(bǔ)丁,希望將該功能代碼合并到內(nèi)核中。
然而,LAM 隨即遭受了 Linus 的猛烈批評(píng),不僅是內(nèi)核實(shí)現(xiàn)代碼,Linus 甚至連 “LAM” 這個(gè)名稱都不滿意:
現(xiàn)在要求英特爾將這個(gè) LAM 功能稱為 “Top-Bits-Ignore” (TBI) ,會(huì)不會(huì)有些太晚了?
...
整個(gè) LAM 功能不是特定于 mm ,它可以輕松影響每個(gè)線程。
想象一下,有一個(gè)設(shè)置,其中一些線程使用標(biāo)記指針,而一些線程不使用。例如,地址的高位可能包含一個(gè)僅在虛擬機(jī)中使用的標(biāo)簽,甚至可以讓 “本機(jī)” 模式使用完整的地址空間,并將其自身及私有數(shù)據(jù)虛擬地放在高位。
再想象一下,使用虛擬地址掩碼不僅能實(shí)現(xiàn)內(nèi)存清理器,還能實(shí)現(xiàn)一種真實(shí)的分離功能(例如,JITed 代碼可能基本上只能訪問較低的位,而 JITter 本身可以看到整個(gè)地址空間)。
也許這不是 LAM 在 x86 上的工作方式,但它對(duì) untagged_addr () 的更改并不是 x86 特定的。所以我真的認(rèn)為這是完全錯(cuò)誤的,除了命名之外, 它全都是一些無效的假設(shè)。事實(shí)上,這個(gè)特定于 mm 的 LAM 功能,最后只會(huì)成為代碼中一個(gè)活躍的 Bug ,即使在 x86-64 上也是如此。
所以我真的認(rèn)為 LAM 是一個(gè)根本性的設(shè)計(jì)錯(cuò)誤,雖然我把它拉出來并解決了瑣碎的沖突,但我又把它拉了下來,因?yàn)樗脑O(shè)計(jì)是錯(cuò)誤的。
Linux 內(nèi)核郵件列表討論了對(duì)英特爾的 LAM 的 Linux 實(shí)現(xiàn)方式的設(shè)計(jì)更改。但 Linus 認(rèn)為英特爾 LAM 代碼還沒有為 Linux 做好準(zhǔn)備,因此最終沒有合并代碼。英特爾已提交新的 x86/mm pull ,但刪除了 LAM 代碼。英特爾 Linux 工程師將重新編寫 LAM 代碼,為 Linux 6.3 做準(zhǔn)備。
審核編輯 :李倩
-
英特爾
+關(guān)注
關(guān)注
61文章
10244瀏覽量
178116 -
代碼
+關(guān)注
關(guān)注
30文章
4922瀏覽量
72232 -
Lam
+關(guān)注
關(guān)注
0文章
6瀏覽量
6810
原文標(biāo)題:Linus批評(píng)英特爾的LAM代碼,拒絕將其合并到內(nèi)核
文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
英特爾發(fā)布全新GPU,AI和工作站迎來新選擇
為什么無法檢測(cè)到OpenVINO?工具套件中的英特爾?集成圖形處理單元?
請(qǐng)問OpenVINO?工具套件英特爾?Distribution是否與Windows? 10物聯(lián)網(wǎng)企業(yè)版兼容?
將英特爾?獨(dú)立顯卡與OpenVINO?工具套件結(jié)合使用時(shí),無法運(yùn)行推理怎么解決?
英特爾?NCS2運(yùn)行演示時(shí)“無法在啟動(dòng)后找到啟動(dòng)設(shè)備”怎么解決?
英特爾任命王稚聰擔(dān)任中國區(qū)副董事長
英特爾計(jì)劃分拆RealSense深度攝像頭業(yè)務(wù)
英特爾帶您解鎖云上智算新引擎
英特爾推出全新英特爾銳炫B系列顯卡

英特爾換帥 英特爾CEO Pat Gelsinger(帕特·基辛格)正式退休
英特爾CEO Gelsinger宣布退休
美國政府?dāng)M增援英特爾
英特爾宣布擴(kuò)容成都封裝測(cè)試基地
英特爾考慮出售Altera股權(quán)
剛剛!英特爾最新回應(yīng)

評(píng)論