精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ARM64 Linux內核頁表的塊映射

系統 Linux
內核文檔Documentation/arm64/memory.rst描述了ARM64 Linux內核空間的內存映射情況,應該是此方面最權威文檔。

[[361287]]

內核文檔Documentation/arm64/memory.rst描述了ARM64 Linux內核空間的內存映射情況,應該是此方面最權威文檔。

以典型的4K頁和48位虛擬地址為例,整個內核空間的虛擬地址分布如下:

 

從ffff000000000000到ffff7fffffffffff是一段針對物理地址的線性映射區,最大支持128TB的物理地址空間,這一段地址非常類似ARM32的low memory映射區。

我們看看這種情況下的頁表,我們既可以用最終的【20:12】對應的PTE映射項,以4K為單位,進行虛擬地址到物理地址的映射;又可以以【29:21】對應的PMD映射項,以2M為單位,進行虛擬地址到物理地址的映射。

 

對于用戶空間的虛擬地址而言,當我們進行的是PMD映射的時候,我們得到的是Huge Page,ARM64的2MB的huge page,在虛擬和物理上都連續,它在實踐工程中的好處是,可以減小TLB miss,因為,如果進行了2MB的映射,整個2MB不再需要PTE,映射關系大為減小。

 

對于內核空間而言,從ffff000000000000到ffff7fffffffffff的這段虛擬地址,如果與物理地址進行的是一種PMD映射的話,顯然也可以達到同樣的效果。但是,這不意味著它們就是Huge Page。眾所周知,內核開機把物理地址往虛擬地址進行線性映射,并不意味著這片內存被內核拿走了,它只是進行了一種映射,以便日后調用kmalloc(),get_free_pages()等API申請的內存是直接已經有虛實映射的。所以,即便內核進行的就是PMD映射,在內存的分割上,還是可以以4K為單位的:

 

所以,即便我們在內核空間進行PMD映射,里面的每個藍色圓圈(一個4K頁),還是可以被單獨分配的,這種分配可以是kmalloc、vmalloc,用戶態的malloc等。內核態進行的PMD映射,不意味著相關的2MB成為了huge page,它純粹只是為了服務于當內核以線性映射的虛擬地址訪問該物理地址的時候(我們認為內核大多數時候是用這個線性映射的虛擬地址的),減小TLB miss。

當然,更牛逼的情況下,內核應該也可以直接用【38:30】位的PUD來進行映射,這樣映射關系是1GB的,則整個1GB后面占TLB的時候,只需要占一個入口。

 

當然,如果用戶態的虛實映射是這樣的,用戶實際得到了一個1GB的巨頁。但是對于內核的線性映射區域而言,即便我們進行了1GB的PUD映射,這1G內部就可以進一步切割為4KB頁或者2MB的巨頁。記住:內核態的線性映射區的映射只是個映射關系,不是個分配關系。比如下面的1GB的內核線性映射的1GB區域,仍然可以被4K分配走,或者被用戶以huge page以2MB為單位分配走:

 

我們需要一個真實的調試手段來驗證我們的想法,這個調試手段就是PTDUMP(Page Table Dump),相關的代碼在ARM64內核的:

arch/arm64/mm/ptdump.c和ptdump_debugfs.c

我們把它們全部選中,這樣我們可以得到一個debugfs接口:

/sys/kernel/debug/kernel_page_tables

來獲知內核態頁表的情況。

我用qemu啟動了一個4GB內存的ARM64虛擬機,可以看到前1GB的虛擬地址空間大多數是PMD和PTE映射,后面的3GB,全是PUD映射:

 

我的內核啟動參數加了rodata=0:

$ cat /proc/cmdline root=/dev/vda2 rw console=ttyAMA0 ip=dhcp rodata=0

原因是內核在幾種情況下,是不會做這種PMD和PUD映射的,相關代碼見于:

 

rodata_full在默認情況下總是成立的,它對應著內核的一個Config選項CONFIG_RODATA_FULL_DEFAULT_ENABLED, "Apply r/o permissions of VM areas also to their linear aliases",這個選項提高了內核的安全性,但是減小了內核的性能。

 

我在內核啟動參數加的rodata=0實際上是讓rodata_full為false。如果我把這個kernel啟動選項去掉,我得到的內核頁表是完全不一樣,線性映射區也全部是PTE映射:

 

最后,值得一提的是,不僅線性映射區可以使用PMD映射,vmemmap映射區也是在4K頁面情況下,默認用PMD映射的:

 

字節跳動的宋牧春童鞋發了一個patchset,企圖在用戶分得巨頁的情況下,刪除巨頁內部的4KB的小page占用的page struct的內存消耗,這個patchset在圣誕節前目前發到了V11:

https://lore.kernel.org/linux-mm/20201222142440.28930-1-songmuchun@bytedance.com/

 

在這個patchset中,它就需要拆分vmemmap的PMD映射為PTE映射:

 

 

這個patchset的原理建立在,當內核以4KB分頁的時候,每個page需要64字節的page struct。但是,當用戶把它分配為巨頁的時候,時候,我們不再需要一個個4KB單獨用page struct描述,對于這種compound page的情況,我們應該可以把后面的page struct的內存直接釋放掉,因為情況完全是雷同的,這樣可以剩下不少內存。

本文轉載自微信公眾號「Linux閱碼場  」,可以通過以下二維碼關注。轉載本文請聯系Linux閱碼場公眾號。宋寶華  

 

責任編輯:武曉燕 來源: Linux閱碼場
相關推薦

2021-01-31 09:26:15

ARM64內核虛擬地址Linux

2021-06-29 13:00:11

微軟Windows 11Windows

2021-05-10 08:05:13

Linux內核頁表

2023-05-15 08:58:41

塊設備驅動Linux

2013-09-03 16:34:57

Linux分布式文件系統

2022-09-06 08:02:32

LinuxLKRG安全

2018-05-18 09:07:43

Linux內核內存

2023-05-09 09:00:39

7-Zip開源壓縮軟件

2022-11-09 07:21:26

微軟Windows

2020-11-20 07:55:55

Linux內核映射

2021-12-07 07:41:14

Windows 11操作系統微軟

2021-07-04 07:00:56

微軟Windows 11Windows

2023-05-26 09:20:22

Windows微軟

2021-09-28 15:03:06

Linux內核arm

2022-06-10 10:37:33

Linux

2025-01-06 23:33:04

2021-05-27 05:24:48

Windows10操作系統微軟

2020-09-23 06:53:48

Linux內核架構

2022-11-11 08:09:10

C++Arm64MSVC
點贊
收藏

51CTO技術棧公眾號

99se视频在线观看| 国产一级特黄aaa大片| 日韩电影免费观看高清完整版在线观看| 国产亚洲va综合人人澡精品| 国产综合福利在线| 久久久久久久国产视频| 免费看成人哺乳视频网站| 欧美日韩久久一区二区| 国产一区二区四区| 91se在线| 97久久精品人人做人人爽| 91精品国产自产在线| 九九热在线视频播放| 日韩理论电影| 日韩激情在线视频| 久久精品一二三四| 婷婷激情一区| 亚洲成精国产精品女| 日韩精彩视频| 日韩在线视频免费| 狠狠色伊人亚洲综合成人| 57pao国产精品一区| 久草网站在线观看| 日韩在线视频精品| 亚洲九九九在线观看| 91成人在线观看喷潮蘑菇| 高清av一区| 欧美日韩免费看| 美女av免费观看| 婷婷在线视频| 久久久亚洲午夜电影| av成人在线电影| 国产精品高潮呻吟av| 玖玖视频精品| 97热精品视频官网| 久久久久久久久久久97| 91亚洲国产| 中文国产成人精品| 99久久国产精| 欧美日韩一区二区三区不卡视频| 日韩欧美在线综合网| 国产一区二区在线观看免费视频| 免费污视频在线一区| 欧美三级xxx| 久久久久久久久久久99| 牛牛在线精品视频| 亚洲女子a中天字幕| 亚洲一区在线直播| 日本中文字幕视频在线| 中文字幕日韩精品一区| 中文字幕一区二区三区最新 | 亚洲欧美www| 人体私拍套图hdxxxx| 99精品中文字幕在线不卡| 日韩一区二区在线观看| 亚洲色图偷拍视频| 国产精品视频一区视频二区| 911精品国产一区二区在线| 超碰在线播放91| 色猫猫成人app| 欧美日韩亚洲综合一区| 在线免费观看av的网站| 色999韩欧美国产综合俺来也| 欧美日韩激情一区二区三区| 99热一区二区| 国产精品麻豆| 精品日韩在线观看| 午夜视频在线观看国产| 日韩a级大片| 亚洲人成网在线播放| 青娱乐国产视频| 欧美gvvideo网站| 欧美巨猛xxxx猛交黑人97人| 国产对白videos麻豆高潮| 一本色道久久综合亚洲精品高清| 国产成人avxxxxx在线看| 波多野结衣视频免费观看| 免费看日韩精品| 91色视频在线导航| 人人妻人人澡人人爽精品日本| av在线综合网| 日韩偷拍一区二区| 成人区精品一区二区不卡| 亚洲一区二区三区四区在线| 日韩精品―中文字幕| 写真福利精品福利在线观看| 91麻豆精品91久久久久同性| 九九久久精品一区| 91九色丨porny丨国产jk| 男人天堂亚洲| 欧洲一区在线观看| 久久久久久久久久久影视| 免费观看成人www动漫视频| 亚洲一二三在线| 天天综合天天做| 另类av一区二区| 91美女福利视频高清| 后进极品白嫩翘臀在线视频| 久久久久久久久蜜桃| 黄色网络在线观看| 三妻四妾的电影电视剧在线观看| 欧美日韩国产首页| 亚洲国产综合视频| 国产精品国产一区| 欧美在线视频网| 91尤物国产福利在线观看| 91一区二区三区在线播放| 午夜在线视频免费观看| 男人av在线播放| 56国语精品自产拍在线观看| aaaaa级少妇高潮大片免费看| 无需播放器亚洲| 日韩av大片免费看| 黄片毛片在线看| 中文字幕在线视频一区| www国产精品内射老熟女| 成人在线视频www| 亚洲欧美国产视频| 五月天综合在线| 国产一区二区三区免费观看| 欧美日韩三区四区| 91超碰在线| 欧美一区二区三区精品| av网站免费在线看| 亚洲一区二区三区高清| 成人永久免费| 黄色网址在线免费| 欧美一a一片一级一片| av天堂一区二区| 欧美人成网站| 91亚洲国产成人精品性色| 成人三级黄色免费网站| 黑人狂躁日本妞一区二区三区| 人妻少妇偷人精品久久久任期| 欧美偷拍自拍| 国产精品成人一区| 国产视频精品久久| 色婷婷国产精品久久包臀 | 成人爽a毛片一区二区免费| 亚洲午夜在线观看| 日韩不卡在线| 亚洲视频在线免费观看| 好看的av在线| 91蜜桃婷婷狠狠久久综合9色| 国产v片免费观看| av成人综合| 国外视频精品毛片| 成人毛片视频免费看| 亚洲午夜激情av| 秘密基地免费观看完整版中文| 91精品一区国产高清在线gif | 国语自产精品视频在免费| 韩国中文字幕hd久久精品| 亚洲成人黄色影院| av网站有哪些| 久久激情视频| 日本成人三级| 高清在线一区| 中文字幕九色91在线| 97超碰人人草| 亚洲蜜桃精久久久久久久| 欧美69精品久久久久久不卡| 国产综合精品一区| 精品伦精品一区二区三区视频| 松下纱荣子在线观看| 亚洲欧美另类在线观看| 7799精品视频天天看| 欧美国产精品久久| 亚洲在线观看网站| 9久re热视频在线精品| 久久亚洲免费| 日韩精品免费观看视频| 日日噜噜噜夜夜爽亚洲精品| va视频在线观看| 亚洲一区二区精品3399| 日韩 中文字幕| 日本成人在线不卡视频| 51xx午夜影福利| 牛牛影视一区二区三区免费看| 日本中文字幕成人| 国产精品剧情| 欧美精品一区二区三区蜜桃视频 | 无码人中文字幕| 国产大陆a不卡| 国产原创中文在线观看| blacked蜜桃精品一区| 亚洲va码欧洲m码| 性欧美又大又长又硬| 中文字幕免费精品一区高清| 亚洲av无码乱码国产精品| 一本大道久久a久久综合| 成年人二级毛片| 91在线视频18| 99国产精品久久久久久| 99精品欧美| 男女啪啪的视频| 窝窝社区一区二区| 91香蕉亚洲精品| 中文字幕一区久| 美日韩精品免费视频| 飘雪影院手机免费高清版在线观看| 欧美日韩另类国产亚洲欧美一级| 日本一级淫片色费放| 一区二区中文视频| 波多野结衣福利| 国产成人在线网站| www.com操| 国产精品美女久久久浪潮软件| 日本丰满大乳奶| av亚洲免费| 久久婷婷开心| 91精品导航| 成人有码视频在线播放| 久久电影tv| 8090成年在线看片午夜| av网站大全在线| 一区二区三区精品99久久| 日本免费不卡视频| 欧美一区二区成人| 中文字幕观看视频| 色婷婷亚洲综合| 亚洲黄色小说图片| 亚洲一区二区三区精品在线| 日韩女优一区二区| 国产精品久久久久久久裸模| 亚洲精品成人无码| 91啪九色porn原创视频在线观看| 在线观看免费视频国产| 国产一区二区福利| 亚洲精品成人在线播放| 日韩av一二三| aaa毛片在线观看| 欧美亚洲专区| 国产精品欧美激情在线观看| 日韩午夜激情| 欧美精品自拍视频| 影音先锋一区| h无码动漫在线观看| 欧美fxxxxxx另类| 国产精品igao激情视频| 欧美黄色一区| 成人免费a级片| 精品99视频| 成年人网站国产| 亚洲午夜视频| av高清在线免费观看| 亚洲国产综合在线看不卡| 亚洲 欧美 综合 另类 中字| 激情久久久久| 亚欧无线一线二线三线区别| 亚洲久色影视| av动漫在线观看| 久久一区二区三区超碰国产精品| 免费在线观看毛片网站| 蜜桃视频在线一区| www激情五月| 国v精品久久久网| 国产婷婷在线观看| 91啪亚洲精品| 色偷偷男人天堂| 亚洲欧美日韩电影| 国产在线欧美在线| 调教+趴+乳夹+国产+精品| 天天干天天操天天操| 欧美剧在线免费观看网站| av网站免费播放| 亚洲电影在线观看| 国产特黄在线| 久久久成人的性感天堂| 波多野结衣在线高清| 日韩美女免费观看| 亚洲人体在线| 国产精品久久精品国产 | 777午夜精品电影免费看| 国产精品午夜视频| 91大神精品| 日韩精品欧美专区| 欧美黄在线观看| 欧美黑人经典片免费观看| 日韩vs国产vs欧美| 免费黄色在线播放| 久久精品在线观看| 国语对白在线播放| 日韩欧美亚洲范冰冰与中字| 一级黄色片在线观看| 欧美xxxx在线观看| av网站在线免费播放| 久久久久久亚洲精品不卡| 欧美日韩视频免费观看| 不卡视频一区| 久久人体视频| 日韩在线一级片| 国产原创一区二区三区| 国产福利短视频| 亚洲免费观看高清完整版在线观看 | 呦呦在线视频| 日韩美女视频免费看| 日韩视频1区| 亚洲免费不卡| 亚洲在线免费| 伊人久久一区二区三区| 国产精品美日韩| 成人免费a视频| 日韩女优电影在线观看| 国产女主播在线写真| 久久久午夜视频| 国产欧美日韩电影| 视频一区二区三| 国产亚洲精品自拍| 宇都宫紫苑在线播放| 国产精品午夜电影| 亚洲综合一二三| 日韩女优制服丝袜电影| 日本在线人成| 国产精品久久久久久久久免费看| 哺乳挤奶一区二区三区免费看| 在线观看欧美一区| 日韩专区在线视频| 免费看污黄网站在线观看| 一区二区三区四区中文字幕| 国产精品国产精品国产专区| 亚洲精品视频播放| 草草在线视频| 成人综合av网| 韩国欧美一区| 手机精品视频在线| 亚洲视频狠狠干| 91精品国产综合久| 色婷婷av一区二区三区在线观看| 自拍偷拍亚洲视频| 鲁丝一区二区三区免费| 一本一本久久| 亚洲中文字幕无码av| 亚洲一二三四在线| 亚洲欧美黄色片| 色综合久久悠悠| 97久久精品| 人人妻人人澡人人爽欧美一区| 国产自产v一区二区三区c| 三级黄色录像视频| 欧美日韩五月天| 天天在线视频色| 91精品国产综合久久香蕉的用户体验 | 在线观看成人av电影| 久久精品国产一区二区三| 日本不卡一区视频| 777奇米四色成人影色区| 国产精品实拍| 99电影在线观看| 黄色在线成人| 麻豆国产精品一区| 日韩欧美主播在线| 每日更新在线观看av| 国产精品大片wwwwww| 91视频一区| 国产chinesehd精品露脸| 亚洲精品国产第一综合99久久| 午夜精品久久久久久久99老熟妇| 久久6精品影院| 高潮按摩久久久久久av免费| 美女日批免费视频| 国产偷国产偷精品高清尤物 | 亚洲一区二区三区免费观看| 久久99深爱久久99精品| 欧美日韩中文字幕在线观看 | 亚洲第一页av| 欧美色综合影院| 色帝国亚洲欧美在线| 精品产品国产在线不卡| 玖玖玖国产精品| 99久久99久久精品国产| 亚洲缚视频在线观看| 欧美gay囗交囗交| 制服丝袜综合日韩欧美| 成人免费视频免费观看| 好吊色在线视频| 久久伊人91精品综合网站| 国内视频在线精品| 杨幂毛片午夜性生毛片 | 999国产精品一区| 国产a级一级片| 中文字幕色av一区二区三区| 亚洲黄色在线播放| 国产成人+综合亚洲+天堂| 91成人超碰| 国产熟妇久久777777| 91精品国产综合久久精品性色| 美女av在线免费看| 精品国产无码在线| 99riav一区二区三区| 亚洲免费视频二区| 午夜伦理精品一区| 欧美电影一二区| 日韩www视频| 91精品国产综合久久精品app| 女厕盗摄一区二区三区| 国产一二三四五| 国产精品无圣光一区二区| 欧美一级做性受免费大片免费| 国产精品一区专区欧美日韩|