Chinaunix

标题: linux2.4.0 swap释放时机疑问 ? [打印本页]

作者: _nosay    时间: 2016-03-16 15:29
标题: linux2.4.0 swap释放时机疑问 ?
http://blog.tek-life.com/understanding-swap-in-linux-kernel/

这位大牛分析的应该是2.6版本的代码吧?相对于2.4.0,do_swap_page()、scan_swap_map()函数都复杂了好多,都会调用vm_swap_full()判断交换页面使用量是否超过总量的一半,如果是就挑选盘上页面释放。另外他还提到基数树,2.4.0代码里也没有这个。
讲道理的话,就应该像2.6之后这样,盘上页面经过换入后,应该继续保留,到盘上页面确实紧张时再释放,因为释放的代价很小,只是将引用计数减到0而已,不应该这么匆匆忙忙的释放。
所以我在看2.4.0代码时,就不太理解do_swap_page()函数为什么在刚换入一个页面后,就紧接着调用swap_free(entry)将盘上页面释放。是我的理解不对,还是2.4.0的代码确实这点做的不好,否则新版本也不会去改动了?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2