IT之家 4 月 7 日消息,一名英偉達(dá)工程師近日在 Linux 內(nèi)核中提交了一個(gè)修復(fù)補(bǔ)丁,解決了 AMD 集成和獨(dú)立 GPU 硬件上出現(xiàn)的性能倒退問(wèn)題。然而令人意外的是,這位工程師正是最初引入這一問(wèn)題的“始作俑者”。
據(jù) Phoronix 報(bào)道,這位英偉達(dá)工程師上周對(duì) Linux 內(nèi)核進(jìn)行了修改,試圖將 PCI 基地址寄存器(BAR)空間擴(kuò)展至超過(guò) 10TiB。然而,這一旨在提升擁有大內(nèi)存空間的系統(tǒng)性能的改動(dòng),卻意外地將 AMD 的 GPU 錯(cuò)誤地標(biāo)記為“受限”,從而嚴(yán)重影響了其性能表現(xiàn)。所幸的是,這一問(wèn)題很快被社區(qū)發(fā)現(xiàn)并得到修復(fù)。
據(jù)悉,此次性能衰退的根本原因是上周提交的一個(gè)旨在擴(kuò)展 PCI BAR 空間的 commit。該 commit 在提升大內(nèi)存系統(tǒng)潛力的同時(shí),也間接降低了消費(fèi)級(jí) x86 設(shè)備上的內(nèi)核地址空間布局隨機(jī)化(KASLR)熵值。KASLR 是一項(xiàng)重要的安全特性,它通過(guò)在每次啟動(dòng)時(shí)隨機(jī)化內(nèi)核數(shù)據(jù)加載到內(nèi)存中的位置來(lái)增強(qiáng)系統(tǒng)安全性。與此同時(shí),該 commit 還人為地?cái)U(kuò)大了內(nèi)核可訪(fǎng)問(wèn)的物理內(nèi)存范圍(direct_map_physmem_end),通常會(huì)擴(kuò)展至 64TiB。
在 Linux 系統(tǒng)中,內(nèi)存被劃分為不同的區(qū)域(zone),其中一種是設(shè)備區(qū)域(zone device),可以與 GPU 相關(guān)聯(lián)。此次問(wèn)題的關(guān)鍵在于,當(dāng)內(nèi)核為 Radeon GPU 初始化設(shè)備區(qū)域內(nèi)存時(shí),一個(gè)名為“max_pfn”的關(guān)聯(lián)變量(代表內(nèi)核可尋址的總 RAM)被人為地增加到了 64TiB。
由于 GPU 很可能無(wú)法訪(fǎng)問(wèn)整個(gè) 64TiB 的地址范圍,這導(dǎo)致系統(tǒng)錯(cuò)誤地將“dma_addressing_limited ()”標(biāo)記為 True。該變量實(shí)際上限制了 GPU 只能使用 DMA32 區(qū)域,該區(qū)域僅提供 4GB 的內(nèi)存,這就解釋了性能大幅下降的原因。
幸運(yùn)的是,這一問(wèn)題很快被發(fā)現(xiàn)并得到了修復(fù)。英偉達(dá)工程師迅速提交了修復(fù)補(bǔ)丁,解決了這一性能倒退問(wèn)題。根據(jù) Linux 內(nèi)核的開(kāi)發(fā)流程,該修復(fù)補(bǔ)丁預(yù)計(jì)將在 Linux 6.15-rc1 合并窗口關(guān)閉前(即今日)被合并。
這一事件也體現(xiàn)了開(kāi)源社區(qū)的協(xié)作精神。盡管 AMD 和 Nvidia 在 GPU 市場(chǎng)上是競(jìng)爭(zhēng)對(duì)手,但在開(kāi)源領(lǐng)域,他們共同遵循“誰(shuí)破壞,誰(shuí)修復(fù)”的原則。據(jù)IT之家了解,Linux 內(nèi)核作為開(kāi)源項(xiàng)目,接受來(lái)自全球開(kāi)發(fā)者的貢獻(xiàn),并通過(guò)嚴(yán)格的代碼審查機(jī)制確保代碼質(zhì)量。這種合作模式不僅推動(dòng)了技術(shù)的進(jìn)步,也促進(jìn)了不同技術(shù)陣營(yíng)之間的交流與合作。
隨著修復(fù)補(bǔ)丁的合并,預(yù)計(jì) Linux 6.15 穩(wěn)定版將在六到八周后發(fā)布,大約在 5 月底或 6 月初。屆時(shí),用戶(hù)將能夠體驗(yàn)到修復(fù)后的系統(tǒng)性能,而 AMD 和 Nvidia 的 GPU 硬件也將更加穩(wěn)定地運(yùn)行在 Linux 平臺(tái)上。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.