源码基于:Linux5.4
在 shrink_node 一文中,我们详细的分析了页面回收的初期流程,总的来说页面回收有两个过程:
在 shrink_node 一文主要分析了 shrink_lruvec,并知道在get_scan_count() 中根据扫描平衡条件,确定了anon/file LRU 扫描页数,并最终会 shrink_list() 进行深入的回收处理。本文将继续分析页面回收 shrink_lruvec() 部分的 shrink_list() 和 shrink_active_list() 流程。
- mm/vmscan.c
-
- static unsigned long shrink_list(enum lru_list lru, unsigned long nr_to_scan,
- struct lru