免费注册 查看新帖 |

Chinaunix

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

[硬件及驱动] 驱动模块加载的致命问题 [复制链接]

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
11 [报告]
发表于 2016-02-19 12:23 |只看该作者
回复 10# bensenq



HI bensenq兄,

当内核在各个进程上下文下运行时,各进程不需要更新自己页目录/页表的内核部分的vmalloc区域的页目录/页表么?
内核vmalloc区域会产生pagefault,这个至少在2.6内核是如此的


   

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
12 [报告]
发表于 2016-02-19 17:37 |只看该作者
ULK里对vmalloc的部分有过描述,由于调用vmalloc分配内存的进程(通常在init module的时候)跟使用该内存的进程未必是同一个,需要init_mm来中转一下。

另外,vmalloc分配的时候,页面是已经分配好的,只是page table相关的条目只能在当前进程和init_mm的上下文修改。
如果在其它进程的上下文访问vmalloc的内存,首次应该会产生page fault,只是这次fault之后,不需要分配页面(不允许睡眠的根本原因?),只需要根据init_mm修正一下当前进程的页表即可。

印象中是这么个过程,没有实际check过,如果有错误,勿怪。

论坛徽章:
0
13 [报告]
发表于 2016-02-23 16:40 |只看该作者
本帖最后由 wp22_justdo 于 2016-02-23 23:12 编辑

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP