相关流程
- 页面回收流程中清除 L_PTE_YOUNG
shrink_active_list->page_referenced->rmap_walk->rmap_one (page_referenced_one) -> ptep_clear_flush_young_notify - 缺页流程 中设置 L_PTE_YOUNG,方面页面回收流程感知页面已经被访问了
handle_pte_fault -> pte_mkyoung
底层机制梳理
arm 页表的bit位描述,以及缺页流程了解
linux页表和arm 页表关系
ptep_clear_flush_young_notify-》 set_pte_at ->cpu_v7_set_pte_ext
PS: LINUX 4.9kernel
汇编代码分析:
- 软件模拟young 标记位: 并且是pte_valid 。 在此基础上如果是pte_none, 则将页表属性为赋值为0, 否则保持原状,不进行页表属性0的设置。
- 如果没有设置pte_young ,直接将页表属性设置为0.
底层汇编代码了解梳理