|
[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函数里面也没有看到有对该页面的第四到第八个字节有赋值的操作。
请大虾指教,谢谢! |
|