免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1982 | 回复: 3
打印 上一主题 下一主题

Clear High Page是一个什么样的行为呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-12 11:21 |只看该作者 |倒序浏览
High Page应该是指在产生之前还未被映射到内核空间的那些页,这些页通常有什么特征?
如果做这些页的清零行为(Page Zeroing), 应该怎样做?

论坛徽章:
0
2 [报告]
发表于 2007-12-12 12:06 |只看该作者
>>High Page应该是指在产生之前还未被映射到内核空间的那些页,这些页通常有什么特征?

intel平台上是指896M之上的页

>>如果做这些页的清零行为(Page Zeroing), 应该怎样做?
先用kmap映射该页,然后清零,最后用kunmap取消映射

论坛徽章:
0
3 [报告]
发表于 2007-12-12 14:28 |只看该作者
不好意思,我对这块不是太懂. 如果要获得位于896M以上的页地址(范围),系统内部是否有一个固定的宏/函数来计算这个范围呢?还是需要我自己获得并计算这个范围.
我们目前是想检测(而不是去做)这些页的数据是否为零,有没有一个快速检测的方法呢?毕竟这个地址范围可能会非常大,比如有超过32G的内存.
对于AMD或者SUN的芯片呢?我们的机器类型范围比较广.

论坛徽章:
0
4 [报告]
发表于 2007-12-12 15:06 |只看该作者
>>系统内部是否有一个固定的宏/函数来计算这个范围呢?
不固定,方法很多,下面是kmap的方法

static inline void *kmap(struct page *page)
{
        if (in_interrupt())
                BUG();
        if (page < highmem_start_page)
                return page_address(page);
        return kmap_high(page);
}

>>有没有一个快速检测的方法呢?
估计没有,检查该页的每个字节吧

>>对于AMD或者SUN的芯片呢?
不懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP