我试图了解 linux 内核如何处理 TLB 未命中。具体来说,我知道页表遍历发生在其中follow_page
,mm/memory.c
但是当发生 TLB 未命中时,follow_page 是如何调用的。follow_page的返回值 ( struct page
) 是如何传回硬件的?有人可以说明从硬件引发 TLB 未命中异常到何时follow_page
被调用的 TLB 未命中处理的调用图吗?
follow_page
我在内核代码中搜索了http://lxr.linux.no/linux+v3.4.4/+search=follow_page但结果似乎没有多大帮助。为了清楚起见,假设硬件是 x86_64。