IT之家 12 月 28 日消息,英特爾工程師 Huang Ying 今天發(fā)布了補丁集,在 migrate_pages () 函數(shù)中實現(xiàn)頁面遷移的批量 TLB 刷新,而且在性能優(yōu)化方面表現(xiàn)亮眼。
IT之家了解到,migrate_pages () 在 Linux Kernel 中負責(zé)頁面遷移(Page Migration),而頁面遷移可以指定一個進程的頁面至其指定的內(nèi)存節(jié)點上。它的設(shè)計初衷是為了:通過將頁面移動到該進程所處的 NUMA 節(jié)點上來減少內(nèi)存訪問的延遲。后來內(nèi)存規(guī)整和內(nèi)存熱插拔等場景都使用了此功能。
在 migrate_pages () 函數(shù)接收到多個頁面之后,英特爾工程師努力支持批量處理 TLB 刷新和復(fù)制,同時減少處理器間中斷 (IPI) 的數(shù)量。
TLB(translation lookaside buffer)可以認(rèn)為是一塊高速緩存。數(shù)據(jù) cache 緩存地址 (虛擬地址或者物理地址) 和數(shù)據(jù)。TLB 緩存虛擬地址和其映射的物理地址。TLB 根據(jù)虛擬地址查找 cache,它沒得選,只能根據(jù)虛擬地址查找。所以 TLB 是一個虛擬高速緩存。
migrate_pages () 函數(shù)用于將進程中的所有頁面移動到另一組節(jié)點。該補丁系列還允許使用 Xeon Scalable Sapphire Rapids 處理器上的英特爾數(shù)據(jù)流加速器 (DSA) 。
在安裝補丁之后,migrate_pages () 測試結(jié)果顯示 IPI 在測試期間降低了 99.1%,每秒成功遷移的頁面數(shù)增加了 291.7%。
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。