0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Gigantic巨頁(yè)與CMA的完全結(jié)合

Linux閱碼場(chǎng) ? 來源:Linuxer ? 2020-07-01 14:46 ? 次閱讀

Facebook的Roman Gushcin發(fā)送的這個(gè)patch把Gigantic巨頁(yè)(SIZE:1GB)與CMA進(jìn)行了一個(gè)完美的結(jié)合:

https://lkml.org/lkml/2020/3/9/1135

CMA有利于在開機(jī)的時(shí)候就預(yù)留一大片內(nèi)存,但是這片內(nèi)存如果不被cma_alloc()申請(qǐng)走,則可被movable的頁(yè)面復(fù)用,并不會(huì)造成直接的浪費(fèi)。

Linux的Gigantic hugepage則要求能夠在運(yùn)行時(shí)通過

echo 10 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages

這樣的方法能申請(qǐng)一定數(shù)量的1GB Gigantic巨頁(yè),由于運(yùn)行時(shí)內(nèi)存碎片化掉了,這種1GB的Gigantic巨頁(yè)很可能申請(qǐng)不到。通過CMA的方法,則可以讓這種申請(qǐng)?jiān)谶\(yùn)行時(shí)成功。

所以整個(gè)故事是:

CMA比如預(yù)留4GB內(nèi)存專門供給hugetlb,如果沒有人去進(jìn)行Gigantic巨頁(yè)設(shè)置,則這個(gè)4GB就平時(shí)被applications的movable頁(yè)面使用掉了。

如果有人通過

echo 1 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages

拿走1GB,則這1GB就被從CMA拿走,剩下的3GB仍然可以被movable page使用。

用戶可以在開機(jī)的時(shí)候通過hugetlb_cma bootargs來設(shè)置CMA的大小,如果是NUMA架構(gòu)的(假設(shè)有4個(gè)NUMA NODE),設(shè)置hugetlb_cma=4GB大小,則每個(gè)NUMA節(jié)點(diǎn)會(huì)分配到1GB大小的CMA。

從代碼看起來,現(xiàn)在申請(qǐng)1GB的gigantic頁(yè)面的時(shí)候,如果有這種CMA區(qū)域,是先走CMA區(qū)域的:

釋放的時(shí)候則是也先看有無這種CMA:

如果這種CMA根本不存在,還是會(huì)走到老的代碼路徑:

alloc_contig_pages(nr_pages, gfp_mask, nid, nodemask);

free_contig_range(page_to_pfn(page), 1 << order);

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2903

    瀏覽量

    73546
  • CMA
    CMA
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    9770

原文標(biāo)題:Gigantic巨頁(yè)與CMA的完全結(jié)合

文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    低功耗輸出頻率32.768kHz的汽車用晶振SG-3031CMA

    今天來給大家介紹一款低功耗,輸出頻率為32.768kHz的汽車用晶振:SG-3031CMA X1B000401A00116。晶振SG-3031CMA的VIO PIN是CMOS接口,可用作OE
    發(fā)表于 08-28 11:47 ?0次下載

    衢州季豐獲得CMA擴(kuò)項(xiàng)資質(zhì)認(rèn)定證書

    近日,衢州季豐檢測(cè)技術(shù)有限公司(以下簡(jiǎn)稱“衢州季豐”)成功通過浙江省市場(chǎng)監(jiān)督管理局的審核,獲得了CMA(中國(guó)計(jì)量認(rèn)證)擴(kuò)項(xiàng)資質(zhì)認(rèn)定證書,標(biāo)志著衢州季豐在實(shí)驗(yàn)室檢測(cè)技術(shù)領(lǐng)域又邁出了堅(jiān)實(shí)的一步。
    的頭像 發(fā)表于 08-19 15:52 ?442次閱讀

    國(guó)陶瓷貼片電容應(yīng)用的領(lǐng)域

    國(guó)陶瓷貼片電容,作為一種高性能的電子元件,其應(yīng)用領(lǐng)域廣泛且多樣。以下是國(guó)陶瓷貼片電容的主要應(yīng)用領(lǐng)域,按照不同的行業(yè)和應(yīng)用場(chǎng)景進(jìn)行歸納: 1、消費(fèi)電子領(lǐng)域: 手機(jī)、筆記本電腦等通信設(shè)備:由于國(guó)
    的頭像 發(fā)表于 06-24 14:54 ?194次閱讀
    國(guó)<b class='flag-5'>巨</b>陶瓷貼片電容應(yīng)用的領(lǐng)域

    真正國(guó)電容如何識(shí)別?

    要識(shí)別真正的國(guó)電容,可以遵循以下步驟和要點(diǎn): 1、選擇可信賴的供應(yīng)商:購(gòu)買國(guó)電容時(shí),確保從官方授權(quán)的分銷商或認(rèn)可的供應(yīng)商購(gòu)買,這樣可以降低購(gòu)買假貨的風(fēng)險(xiǎn)。 2、查看包裝和標(biāo)識(shí): 真正的國(guó)電容
    的頭像 發(fā)表于 06-11 15:36 ?291次閱讀
    真正國(guó)<b class='flag-5'>巨</b>電容如何識(shí)別?

    國(guó)和三星電容之間的區(qū)別是什么?

    國(guó)電容和三星電容之間存在一些明顯的區(qū)別,主要包括以下幾個(gè)方面: 1、產(chǎn)品特性: 國(guó)電容:具有極高的功率密度,能夠承受高壓、高頻率的電力環(huán)境,具有出色的電容性能和功率特性。此外,國(guó)
    的頭像 發(fā)表于 05-24 16:25 ?474次閱讀
    國(guó)<b class='flag-5'>巨</b>和三星電容之間的區(qū)別是什么?

    國(guó)貼片電容和普通貼片電容有什么不同?

    國(guó)貼片電容和普通貼片電容在多個(gè)方面存在顯著的不同。 首先,國(guó)貼片電容往往采用先進(jìn)的薄層化工藝,這使得產(chǎn)品能夠在保持較小體積的同時(shí),實(shí)現(xiàn)更大的容量。這種微型化和大容量的特性,使得國(guó)貼片電容特別
    的頭像 發(fā)表于 04-26 13:54 ?275次閱讀

    國(guó)電容的特性和國(guó)電容命名規(guī)則

    電容器有另一種叫法,貼片電容,它是無鉛環(huán)保類型的電容器,它是一個(gè)片型的形狀。電容溫度范圍寬,耐壓性范圍寬,可靠性高,安全等優(yōu)點(diǎn)。被廣泛應(yīng)用于高科技產(chǎn)業(yè)。 國(guó)電容的特性 ①、高先進(jìn)的薄層化技術(shù),使
    的頭像 發(fā)表于 04-25 15:20 ?302次閱讀
    國(guó)<b class='flag-5'>巨</b>電容的特性和國(guó)<b class='flag-5'>巨</b>電容命名規(guī)則

    國(guó)電容應(yīng)該怎么挑選?

    國(guó)電容的挑選方式,一般情況下都是需要根據(jù)自己的需求來選擇相應(yīng)的國(guó)電容代理商家。 很多人都應(yīng)該知道現(xiàn)在的國(guó)電容代理商是比較多的,所以在選擇代理的時(shí)候,可以根據(jù)他們的服務(wù)以及報(bào)價(jià)來選擇。今天國(guó)
    的頭像 發(fā)表于 04-25 15:08 ?197次閱讀
    國(guó)<b class='flag-5'>巨</b>電容應(yīng)該怎么挑選?

    霖科技將亮相IIC Shanghai并發(fā)表主題演講

    活動(dòng)預(yù)告∣霖科技將亮相IIC Shanghai 并發(fā)表主題演講
    的頭像 發(fā)表于 03-27 09:50 ?343次閱讀
    <b class='flag-5'>巨</b>霖科技將亮相IIC Shanghai并發(fā)表主題演講

    鴻蒙ArkUI開發(fā)-實(shí)現(xiàn)增刪Tab頁(yè)

    本文以瀏覽器中增加或刪除頁(yè)簽為例,實(shí)現(xiàn)Tabs中頁(yè)簽的增刪功能。
    的頭像 發(fā)表于 01-29 18:43 ?1436次閱讀
    鴻蒙ArkUI開發(fā)-實(shí)現(xiàn)增刪Tab<b class='flag-5'>頁(yè)</b>簽

    CMA著手對(duì)蘋果、谷歌等美科技巨頭進(jìn)行數(shù)據(jù)披露與開放調(diào)查

    針對(duì)數(shù)碼市場(chǎng)份額問題,CMA已籌備設(shè)立專門的反壟斷團(tuán)隊(duì),構(gòu)建“戰(zhàn)略市場(chǎng)地位”(SMS)標(biāo)準(zhǔn)。據(jù)稱,此團(tuán)隊(duì)將進(jìn)一步細(xì)化分割工作,以便更好地監(jiān)管個(gè)別領(lǐng)軍企業(yè)。
    的頭像 發(fā)表于 01-12 11:35 ?380次閱讀

    TC晶振彩頁(yè)

    電子發(fā)燒友網(wǎng)站提供《TC晶振彩頁(yè).pdf》資料免費(fèi)下載
    發(fā)表于 12-12 14:19 ?3次下載

    MMU多級(jí)頁(yè)表映射過程

    物理頁(yè)面大小一級(jí)地址總線寬度不同,頁(yè)表的級(jí)數(shù)也不同。以AArch64運(yùn)行狀態(tài),4KB大小物理頁(yè)面,48位地址寬度為例,頁(yè)表映射的查詢過程如圖: 對(duì)于多任務(wù)操作系統(tǒng),每個(gè)用戶進(jìn)程都擁有獨(dú)立的進(jìn)程地址
    的頭像 發(fā)表于 11-26 16:28 ?801次閱讀
    MMU多級(jí)<b class='flag-5'>頁(yè)</b>表映射過程

    MMU如何知道頁(yè)表在內(nèi)存中的具體地址

    MMU怎么知道這個(gè)頁(yè)表在內(nèi)存中的具體地址呢? 通常CPU會(huì)提供一個(gè)頁(yè)表基址寄存器給操作系統(tǒng)使用,用于給MMU指示頁(yè)表的基地址。不同處理器架構(gòu)對(duì)應(yīng)的寄存器也不一樣: x86:CR3(Control
    的頭像 發(fā)表于 10-08 11:52 ?953次閱讀
    MMU如何知道<b class='flag-5'>頁(yè)</b>表在內(nèi)存中的具體地址

    RISC-V Linux的頁(yè)表創(chuàng)建

    臨時(shí)頁(yè)表分析 MMU開啟前,需要建立好kernel、dtb、trampoline等頁(yè)表。以便MMU開啟后,并且在內(nèi)存管理模塊運(yùn)行之前,kernel可以正常初始化,dtb可以正常地被解析。這部分頁(yè)表
    的頭像 發(fā)表于 10-08 11:14 ?444次閱讀