我想了解linux內核如何處理TLB未命中。具體來說,我知道頁面表遍歷發生在mm/memory.c
的follow_page
中,但是當TLB未命中發生時,如何調用follow_page。 follow_page的返回值(struct page
)如何傳遞迴硬件?有人可以說明TLB未命中處理的調用圖,從TLB Miss異常由硬件引發到何時調用follow_page
?在Linux內核中處理TLB未命中的調用圖
我搜索了follow_page
裏面的內核代碼http://lxr.linux.no/linux+v3.4.4/+search=follow_page但結果似乎沒有多大幫助。 爲了說清楚,可以說硬件是x86_64。
我發現,對於大多數x86體系結構,當發生TLB未命中時,硬件會執行頁面遍歷。在TLB未命中期間,不會調用'mm/memory.c'中的軟件頁面結構代碼'follow_page'。所以,按照我的理解,在linux內核中沒有處理TLB未命中的調用圖。 – Bhushan
您應該提交此評論作爲答案。 – GargantuChet
@GargantuChet謝謝。我已經發布了我的答案。 – Bhushan