LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1039|回复: 0

pte_alloc_one_fast()函数的问题(内核2.4.20版)

[复制链接]
发表于 2003-8-20 23:03:10 | 显示全部楼层 |阅读模式
[php]
static inline pte_t *pte_alloc_one_fast(struct mm_struct *mm,
                                        unsigned long address)
{
        unsigned long *ret;

        if ((ret = (unsigned long *)pte_quicklist) != NULL) {
                pte_quicklist = (unsigned long *)(*ret);
                ret[0] = ret[1]; //就是这一句!
                pgtable_cache_size--;
        }
        return (pte_t *)ret;
}
[/php]

请问ret[0]=ret[1]有什么作用?

可以看到, ret实际上是一个页面的起始四个字节, 它指向下一个页面。
通过这种方式把这些fast_free的页面串联起来,那么
ret[0]=ret[1]有什么意义呢?

在pte_free_fast函数里面也没有看到有对该页面的第四到第八个字节有赋值的操作。

请大虾指教,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表