Linux.ChinaUnix.net
ChinaUnix
|
Linux首页
|
新闻
|
博客
|
文章
|
专栏
|
新手
|
方案
|
图书
|
下载
|
人才
|
手册
|
wiki
|
搜索
会员:
密码:
免费注册
|
忘记密码
|
会员登录
|
搜索
|
帮助
有关mmap的锁页一直不是很清楚
1
2
››
首页
»
CU论坛
»
Linux
»
汇总贴列表
»
内核源码
»
请选择您要去的论坛 ←
>新手园地
>系统管理
>网络问题
>硬件支持
>内核问题
>系统互操作专区
>中文支持
>桌面与办公
>影音娱乐
>网络工具
>编程问题
>内核源码
>CPU与编译器
>嵌入式开发
>驱动开发
>数据库应用
>服务器应用
>安全防护
>集群和虚拟机
>开源业界与评论
>贴图娱乐
>红茶馆
>文档专区
>下载共享
>Linux站务交流
===============
→ 操作系统技术交流区 ←
>BSD
>Solaris
>SCO UNIX
>HP-UX
>AIX
>IBM AS400应用论坛
>Tru64 UNIX
>IRIX
>Mac OS X
→ 行业解决方案交流区 ←
> 金融行业
> 电信行业
> 互联网行业
> 医卫行业
> 制造行业
> 信息安全
> 教育行业
> 媒体娱乐行业
> 电子政务
> 交通行业
→ 程序设计交流区 ←
>C/C++
>Shell
>Java
>Php
>Perl
>Python
>Web开发
>软件工程
>中间件技术
>GUI编程
>软件配置管理
>VOIP开发技术
→ 网管技术交流区 ←
>网络安全
>网络技术
>Cisco技术
>存储备份之家
>服务器及硬件技术
→ 数据库技术交流区 ←
>MySQL
>PostgreSQL
>Oracle
>Informix
>Sybase
>DB2
→ 应用技术专题交流区 ←
>Web服务器
>Mail服务器
>FTP服务器
>DNS服务器
>Proxy服务器
>LDAP
>VPN
>Lotus
>Samba
→ IT综合交流区 ←
>IT业界新闻与评论
>IT职业生涯
>IT培训与认证
>IT二手大厅
>IT图书与评论
→ IT人的休闲生活交流区 ←
>清茶斋
>运动地带
>快乐数码摄影
>影音文字
>English Forum
>游戏玩家
>旅游天下
>贴图娱乐
>红茶馆
→ 站务及频道交流区 ←
>站务交流
>版主会议室
>Linux站务交流
>Linux版主会议室
>博客站务交流区
>Wiki站务交流区
>下载频道交流区
最近访问的论坛 ...
CU活动专区开版,可用积分兑换礼品规则公布、第一批礼品兑换开始
|
‹‹ 上一主题
|
下一主题 ››
[
打印
] [
订阅
] [
收藏
] [
推荐给朋友
] [
本帖文本页
]
duanius
精灵王
UID:471810
注册:2006-10-1
最后登录: 2008-05-16
帖子:
294
精华:
1
可用积分:294
信誉积分:
100
专家积分:
0
(本版)
状态:...保密...
[
资料
] [
站内短信
] [
Blog
]
1楼
发表于 2008-5-6 22:49
可能很幼稚 但一直不理解
就是在字符设备驱动中 在内核态分配了一段缓冲区 然后逐页锁定 比如SetPageReserved
然后往用户空间做mmap的时候 把这个vma块再次锁定 比如vma->vm_flags |= VM_LOCKED;
这里不是很懂 虽然一个是用内核虚拟地址访问 一个是用户空间的地址 但因为对应的都是同样的若干个物理页面 感觉只要锁一次就可以确保物理页面不会被swapout了 为什么要锁两次呢
我想一定是哪里的概念没理解或者混淆了 希望诸位指出
您对本贴的看法:
鲜花[0]
臭蛋[0]
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
motalelf
精灵王
UID:384785
注册:2006-3-11
最后登录: 2008-05-16
帖子:
361
精华:0
可用积分:187
信誉积分:
105
专家积分:
0
(本版)
状态:
...离线...
[
资料
] [
站内短信
] [
Blog
]
2楼
发表于 2008-5-7 00:03
我觉得都不用锁哈。
alloc_pages时就多出来一个引用。kswapd再怎么折腾,也不可能搞的page->copunt==0,怎么可能swapout这个page?
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
三个代表,吾党所宗。
以杜八耻,以进八荣。
咨尔多士,为民先锋。
夙夜匪懈,和谐是从。
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
dragchan
侠客
UID:423115
注册:2006-5-28
最后登录: 2008-05-15
帖子:
21
精华:0
可用积分:52
信誉积分:
100
专家积分:
62
(本版)
状态:
...离线...
[
资料
] [
站内短信
] [
Blog
]
3楼
发表于 2008-5-7 09:55
两个都不需要。
内存回收时,只会从加入LRU list的page中选取。而alloc_page函数并不将page加入LRU list。
另外SetPageReserved也不是LZ所理解的那样,用了锁定page,阻止swapout。
您对本贴的看法:
鲜花[0]
臭蛋[0]
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
duanius
精灵王
UID:471810
注册:2006-10-1
最后登录: 2008-05-16
帖子:
294
精华:
1
可用积分:294
信誉积分:
100
专家积分:
0
(本版)
状态:...保密...
[
资料
] [
站内短信
] [
Blog
]
4楼
发表于 2008-5-7 10:14
get_free_pages 印象中调用的就是alloc_pages 那样说前者分配的内存岂不是都不要锁就可以避免swapout了么 但事实上很多代码对get_free_pages分配出来的都有额外的加锁阿
您对本贴的看法:
鲜花[0]
臭蛋[0]
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
duanius
精灵王
UID:471810
注册:2006-10-1
最后登录: 2008-05-16
帖子:
294
精华:
1
可用积分:294
信誉积分:
100
专家积分:
0
(本版)
状态:...保密...
[
资料
] [
站内短信
] [
Blog
]
5楼
发表于 2008-5-7 10:28
QUOTE:
原帖由
dragchan
于 2008-5-7 09:55 发表
两个都不需要。
内存回收时,只会从加入LRU list的page中选取。而alloc_page函数并不将page加入LRU list。
另外SetPageReserved也不是LZ所理解的那样,用了锁定page,阻止swapout。
不好意思 对mm这方面我了解的还很不够 所以你讲的有些不是很了解
内存回收和swapout是同一个概念或者有什么关系么 为什么总是提到内存回收呢。。 还有 我想更确切的了解下swapout过程和lrulist以及alloc_pages 的关系 这方面的资料lkd和ulk中我还没找到。。网上貌似也不是很好找
另外setpagereserved 确实不止是仅仅锁定page的概念 但感觉它确实可以起到pin住内存的作用
引用ieee一篇论文的一段话:
The memory pages were also pinned in the memory by SetPageReserved() Linux kernel API
function call, so that the Linux memory manager do not swap out these pages to the disk.
Pinning the DMA memory is required for successful DMA ring operations.
您对本贴的看法:
鲜花[0]
臭蛋[0]
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
duanius
精灵王
UID:471810
注册:2006-10-1
最后登录: 2008-05-16
帖子:
294
精华:
1
可用积分:294
信誉积分:
100
专家积分:
0
(本版)
状态:...保密...
[
资料
] [
站内短信
] [
Blog
]
6楼
发表于 2008-5-7 14:41
我顶顶 顶
您对本贴的看法:
鲜花[0]
臭蛋[0]
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
duanius
精灵王
UID:471810
注册:2006-10-1
最后登录: 2008-05-16
帖子:
294
精华:
1
可用积分:294
信誉积分:
100
专家积分:
0
(本版)
状态:...保密...
[
资料
] [
站内短信
] [
Blog
]
7楼
发表于 2008-5-7 15:02
根据诸位回复 有2个内核中分配内存不需要担心换出的充分条件
1. alloc_page分配时会给count+1 所以不存在会count=0的情况
2.alloc分配的页不进入lru链表 swapout页都是在lru链表里的页选出 所以也不用担心
呃呃 感觉比较有道理 但还有些疑虑 因为这样好像对内核页而言 锁页就是形同虚设的东西 不知道诸位还有无其他意见
您对本贴的看法:
鲜花[0]
臭蛋[0]
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
zx_wing
(骑着猪的青蛙)
大天使
学徒
UID:499746
注册:2006-12-4
最后登录: 2008-05-16
帖子:
1526
精华:
3
可用积分:1681
信誉积分:
100
专家积分:
1
(本版)
来自:成都
状态:...保密...
[
资料
] [
站内短信
] [
Blog
]
8楼
发表于 2008-5-7 15:18
QUOTE:
原帖由
duanius
于 2008-5-7 15:02 发表
根据诸位回复 有2个内核中分配内存不需要担心换出的充分条件
1. alloc_page分配时会给count+1 所以不存在会count=0的情况
2.alloc分配的页不进入lru链表 swapout页都是在lru链表里的页选出 所以也不用担心
...
有!还是没告诉我内核的页面到底会不会被换出去。
kswapd不扫描3G以上那就不会换出去了哦
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
C调 ---- C语言
都是最喜欢的
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
duanius
精灵王
UID:471810
注册:2006-10-1
最后登录: 2008-05-16
帖子:
294
精华:
1
可用积分:294
信誉积分:
100
专家积分:
0
(本版)
状态:...保密...
[
资料
] [
站内短信
] [
Blog
]
9楼
发表于 2008-5-7 15:39
按照他们给出的alloc_pages 是不会被换出的2个理由 貌似内核页是不会被换出的
看看内核里分配内存的函数 哪个不是最终要调用alloc _pages呢。。。alloc_pages分配的页不会被换出 那封装它的也不会被换出 如果封装函数没有做额外的处理的话 貌似就是这样(有些不礼貌 但还是希望更多的人能确定一下)
还是顶一下 等回复 主要是搞不懂为啥看过的代码里面会有对内核内存页的加锁。。
ps. 仅仅是一个锁页的bit位 折腾了我好几天 引申这么老远 这内核模块的一行代码写出来浓缩的真tmd全是精华。。。
您对本贴的看法:
鲜花[0]
臭蛋[0]
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
duanius
精灵王
UID:471810
注册:2006-10-1
最后登录: 2008-05-16
帖子:
294
精华:
1
可用积分:294
信誉积分:
100
专家积分:
0
(本版)
状态:...保密...
[
资料
] [
站内短信
] [
Blog
]
10楼
发表于 2008-5-7 21:14
有关换页的问题请参看
http://linux.chinaunix.net/bbs/thread-997435-1-1.html
本贴我的回复请自动无视。。。
您对本贴的看法:
鲜花[0]
臭蛋[0]
4月书评获奖名单公布
|
CU社区建设有奖大调查
|
CU-2008奥运之春摄影比赛
首页
»
CU论坛
»
Linux
»
汇总贴列表
»
内核源码
»
1
2
››
请选择您要去的论坛 ←
>新手园地
>系统管理
>网络问题
>硬件支持
>内核问题
>系统互操作专区
>中文支持
>桌面与办公
>影音娱乐
>网络工具
>编程问题
>内核源码
>CPU与编译器
>嵌入式开发
>驱动开发
>数据库应用
>服务器应用
>安全防护
>集群和虚拟机
>开源业界与评论
>贴图娱乐
>红茶馆
>文档专区
>下载共享
>Linux站务交流
===============
→ 操作系统技术交流区 ←
>BSD
>Solaris
>SCO UNIX
>HP-UX
>AIX
>IBM AS400应用论坛
>Tru64 UNIX
>IRIX
>Mac OS X
→ 行业解决方案交流区 ←
> 金融行业
> 电信行业
> 互联网行业
> 医卫行业
> 制造行业
> 信息安全
> 教育行业
> 媒体娱乐行业
> 电子政务
> 交通行业
→ 程序设计交流区 ←
>C/C++
>Shell
>Java
>Php
>Perl
>Python
>Web开发
>软件工程
>中间件技术
>GUI编程
>软件配置管理
>VOIP开发技术
→ 网管技术交流区 ←
>网络安全
>网络技术
>Cisco技术
>存储备份之家
>服务器及硬件技术
→ 数据库技术交流区 ←
>MySQL
>PostgreSQL
>Oracle
>Informix
>Sybase
>DB2
→ 应用技术专题交流区 ←
>Web服务器
>Mail服务器
>FTP服务器
>DNS服务器
>Proxy服务器
>LDAP
>VPN
>Lotus
>Samba
→ IT综合交流区 ←
>IT业界新闻与评论
>IT职业生涯
>IT培训与认证
>IT二手大厅
>IT图书与评论
→ IT人的休闲生活交流区 ←
>清茶斋
>运动地带
>快乐数码摄影
>影音文字
>English Forum
>游戏玩家
>旅游天下
>贴图娱乐
>红茶馆
→ 站务及频道交流区 ←
>站务交流
>版主会议室
>Linux站务交流
>Linux版主会议室
>博客站务交流区
>Wiki站务交流区
>下载频道交流区
Copyright © 2001-2008 ChinaUnix.net All Rights Reserved 联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处
京ICP证041476号
清除 Cookies
-
Linux时代
-
Archiver
-
WAP
-
TOP
Processed in 0.410813 second(s), 5 queries , Gzip enabled