免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 思一克

VMALLOC_RESERVE 和 896M [复制链接]

论坛徽章:
0
发表于 2006-01-17 08:19 |显示全部楼层
to albcamus,

标题我自己不能改吧。KMALLOC_RESERVE 应该是 VMALLOC_RESERVE

我认为应用程序可以使用高端MEM。但我机器内存太小无法实验。

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2006-01-17 08:43 |显示全部楼层
>> 那128M内存的功能不仅仅是用在这些地方的,如果你要加载一个设备,而这个设备需要映射内存到内核中,它也需要使用这段线性地址空间来完成,否则内核就不能访问设备上的内存空间了。

用词不当:
不是128M内存, 是128M线性地址!
而且,设备内存可以通过MMAP映射到用户地址空间直接使用.
我们还是先讨论高端内存吧.听说2.4和2.6处理有所不同,.......

[ 本帖最后由 yjh777 于 2006-1-17 08:55 编辑 ]

论坛徽章:
0
发表于 2006-01-17 11:01 |显示全部楼层
For devices connected to the PCI bus

The I/O shared memory is mapped into 32-bit physical addresses near the 4 GB boundary. This kind of device is much simpler to handle.

这是ULK-3rd中的原话,我想现在这部分空间还是需要用来映射设备的I/O内存的。

论坛徽章:
0
发表于 2006-01-17 11:04 |显示全部楼层
原帖由 yjh777 于 2006-1-17 08:43 发表
>> 那128M内存的功能不仅仅是用在这些地方的,如果你要加载一个设备,而这个设备需要映射内存到内核中,它也需要使用这段线性地址空间来完成,否则内核就不能访问设备上的内存空间了。

用词不当:
不是1 ...


这是搞笑,难道这不是那128M的线性地址空间的用途吗?

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2006-01-17 11:45 |显示全部楼层
原帖由 snow_insky 于 2006-1-17 11:04 发表


这是搞笑,难道这不是那128M的线性地址空间的用途吗?


我说的是方法,你说的是用途。 不冲突的。
我没有搞笑,是你生气了。sorry!

论坛徽章:
0
发表于 2006-01-18 16:52 |显示全部楼层
to albcamus,

谢谢你帮我改好了。 并且净化了。

论坛徽章:
0
发表于 2006-06-09 15:00 |显示全部楼层
in arch/i386/mm/init.c:

#ifdef CONFIG_HIGHMEM
        high_memory = (void *) __va(highstart_pfn * PAGE_SIZE - 1) + 1;
#else
        high_memory = (void *) __va(max_low_pfn * PAGE_SIZE - 1) + 1;
#endif

in arch/i386/mm/discontig.c
        system_max_low_pfn = max_low_pfn = find_max_low_pfn() - reserve_pages;

论坛徽章:
0
发表于 2007-06-14 09:00 |显示全部楼层
这个问题好像还没说清楚, 被我翻出来了, 呵呵

用户空间可以访问高端内存吗? 如何访问?
这也是我困惑的地方。 谢谢!

论坛徽章:
0
发表于 2007-06-14 09:27 |显示全部楼层

回复 #18 rwen2012 的帖子

用户空间不能吧,那个高端地址是属于内核态的,而且那个高端地址也是说即使在内核态,在X86情况下,也只能通过vmalloc()等方式来进行访问的。

论坛徽章:
0
发表于 2007-06-14 10:47 |显示全部楼层

回复 #19 scutan 的帖子

用戶進程需要內存了, 內核可以分配高端內存映射給它呀!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP