KVM的vMMU相關資料結構及其影子頁表關係分析

2021-07-23 02:14:35 字數 603 閱讀 7295

閱讀本文前,請先參閱文章 《tdp_page_fault 函式解析之level,gfn變數的含義》

依然感謝intel otc的 wufeng、oenhan、chenhe、ruanshuai給予的幫助和支援

本文將會對kvm中虛擬mmu的的幾個關鍵成員含義進行分析。

這系資料結構和影子頁表(spt)的關係如下圖所示

a、 kvm結構

每個虛擬機器乙個,代表乙個虛擬機器

b、 kvm_vcpu結構

對應乙個vcpu

c、kvm_vcpu_arch結構

vcpu中架構相關部分

d. kvm_mmu結構

vmmu的資料結構

e. kvm_mmu_page結構

影子頁表頁的管理結構。

f. 影子頁表頁

影子頁表頁,shadow page,就是裝載影子頁表的頁面,每個頁面中分為多個表項,每個表項成為spte,注意不論哪個級別,表項都成為spte。

好了,到此我們應該已經分析清楚kvm 中vmmu相關的資料結構及其影子頁的錶關了

redis的資料結構及相關命令

redis 儲存的是 key,value 格式的資料,其中 key都是字串,value有5 種不同的資料結構 value 的資料結構 1 字串型別 string 2 雜湊型別hash map格式 3 列表型別 list linkedlist 格式。支援重複元素 4 集合型別 set 不允許重複元素 ...

hash map的資料結構剖析及相關方法

hash map是個很有用的索引結構,對於大規模資料檢索的時候,用處大大的。本文基於原始碼的基礎上,從資料結構開始剖析,進而介紹一些常用的方法。hash map是基於hash table基礎上封裝的方法類,下面看看hash table的資料結構 template,class equalkey equ...

Nginx資料結構及相關介面函式

本文 1.字串ngx str t typedef struct ngx str t 1.1介面函式 ngx string str 初始化乙個字串為str,str必須為常量字串,一般只用於宣告字串變數時順便初始化變數的值。ngx null string 宣告變數時,初始化字串為空字串,符串的長度為0,...