接上篇博文:shrink_list 详解(1)
源码基于:Linux5.4
在上一篇博文中详细分析了 shrink_lruevc部分中的 shrink_list() 和 shrink_active_list(),回顾下shrink_active_list() 流程:
- 通过 isolate_lru_pages() 将能够隔离的页面隔离出来,并存入 l_hold 链表中;
- while 循环,从l_hold 链表中一页一页的取出,确认是否是 VM_EXEC 的LRU_FILE,如果是则放到 l_active 链表,如果不是,则放到 l_inact