博文

目前显示的是 二月, 2013的博文

How to swap out the anonymous page?

  匿名页被换出,以增加空闲内存的数量, 页面被换出,首先需要为非活跃 (inactive) 状态。当处于 inactive 状态的页面被选中换出时,其逻辑集中体现在 shrink_page_list 函数中。  762 /*  763  * shrink_page_list() returns the number of reclaimed pages  764  */  765 static unsigned long shrink_page_list(struct list_head *page_list,  766                                       struct mem_cgroup_zone *mz,  767                                       struct scan_control *sc,  768                                       int priority,  769                                       unsigned long *ret_nr_dirty,  770                                       unsigned long *ret_nr_writeback)  771 {  772         LIST_HEAD(ret_pages);  773         LIST_HEAD(free_pages);  774         int pgactivate = 0;  775         unsigned long nr_dirty = 0;  776         unsigned long nr_congested = 0;  777         unsigned long nr_reclaimed = 0;  778         unsigned long nr_writeback = 0;  779  780         cond_resched();  781  782         while (!li