免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1542 | 回复: 2

[内存管理] 在swap out的流程中,什么时候释放swap cache [复制链接]

论坛徽章:
0
发表于 2013-09-04 19:45 |显示全部楼层
在swap out的流程中:
-> shrink_page_list
-> add_to_swap    // 在swap partition中分配slot,并将page加入到swap cache
-> try_to_unmap   // 如果这一步能够解除所有进程和这个page的关联
-> pageout  // 写page 到 swap partition中
-> free_hot_cold_page_list()  // 释放page 到buddy system

请问在这个page解除和进程的关联,page内容写入到swap partition后,就应该从swap cache里面将这个page删除
代码中没找到对应的地方,请教各位大牛了。

论坛徽章:
0
发表于 2013-09-05 18:35 |显示全部楼层
找到了。
                if (!mapping || !__remove_mapping(mapping, page))
                        goto keep_locked;

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
发表于 2013-09-10 08:48 |显示全部楼层
回复 2# wyyzxml
    if (!mapping || !__remove_mapping(mapping, page))


多谢分享!
__remove_mapping-->__delete_from_swap_cache
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP