免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: embeddedlwp
打印 上一主题 下一主题

[内存管理] page cache问题 [复制链接]

论坛徽章:
1
双鱼座
日期:2013-08-28 13:47:26
111 [报告]
发表于 2012-05-31 17:31 |只看该作者
回复 109# embeddedlwp
就是tracing(跟踪),靠的就是页表项中读写权限和vma中的vm_flags的不一致来实现。

论坛徽章:
1
双鱼座
日期:2013-08-28 13:47:26
112 [报告]
发表于 2012-05-31 17:37 |只看该作者
本帖最后由 firkraag 于 2012-05-31 17:38 编辑

回复 110# embeddedlwp
几个进程都可以,就是在当前进程进行写入之前,所有映射该页的进程都没有写入过(可能读了许多次了),而且此时除了当前进程它们都不在映射该页了(可能死了,也可能unmap了)。一般情况下,未被写入且存在的private映射页要实现被写入时的cow,都会将页表项中的w/r位清零,这样就会发生page fault引发cow。我们遇到这种情况时,除了当前进程已经没有人引用这个页了,由于当前进程也没有对该页写过,它的pte项也是w/r位清零的,所以写入就会引发wp fault,不过这时只有当前进程引用这个页了,所以就不在申请新页了,直接使用这页了。
   

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
113 [报告]
发表于 2012-05-31 17:40 |只看该作者
回复 102# firkraag

ulk3中16.2.6 Non-Linear Memory Mappings小节。remap_file_pages。
=========================================
看了sys_remap_file_pages的代码,仍然没有找到哪里使用prefault的啊



   

论坛徽章:
1
双鱼座
日期:2013-08-28 13:47:26
114 [报告]
发表于 2012-05-31 17:47 |只看该作者
回复 113# embeddedlwp
perfault不是函数名,是注释里的一个word,意思是在page fault发生之前。

   

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
115 [报告]
发表于 2012-05-31 17:55 |只看该作者
本帖最后由 embeddedlwp 于 2012-05-31 17:59 编辑

回复 114# firkraag

注释说“Make sure the vma is shared, that it supports prefaulting .....”

貌似这个prefaulting应该是什么功能来着,只是我们不知是干嘛的



   

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
116 [报告]
发表于 2012-05-31 19:10 |只看该作者
回复 114# firkraag


http://lwn.net/Articles/127301/


   

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
117 [报告]
发表于 2012-05-31 20:06 |只看该作者
回复 114# firkraag

一般都说交换分区不要设置超过内存两倍,那么从kernel的角度来看,是不是就是因为只有anon page和shm 使用swap area,所以设大了也没有?


   

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
118 [报告]
发表于 2012-05-31 20:24 |只看该作者
回复 114# firkraag

在do_wp_page代码中有这么一部分:

在COW的时候要减少old_page的page->_mapcount等


if (old_page) {
                        page_remove_rmap(old_page, vma);
                        if (!PageAnon(old_page)) {
                                dec_mm_counter(mm, file_rss);
                                inc_mm_counter(mm, anon_rss);
                        }
                } else
                        inc_mm_counter(mm, anon_rss);

这里的if判断如果不是匿名页,竟然减少file_rss,增加anon_rss ?



   

论坛徽章:
1
双鱼座
日期:2013-08-28 13:47:26
119 [报告]
发表于 2012-05-31 20:39 |只看该作者
回复 117# embeddedlwp

这上面说swap多多益善。
http://hi.baidu.com/algol_dream/ ... 7359e977c63874.html

论坛徽章:
16
2015亚冠之吉达阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉鸡
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52双鱼座
日期:2014-02-22 13:07:56午马
日期:2014-02-14 11:08:18双鱼座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
120 [报告]
发表于 2012-05-31 20:44 |只看该作者
回复 119# firkraag


只有anon page和shm 使用swap area,搞太大是不是没有什么用处啊?


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP