static inline size_t get_vm_area_size(const struct vm_struct *area)用于得到形参area的size。
其源码分析如下:
static inline size_t get_vm_area_size(const struct vm_struct *area)
{
if (!(area->flags & VM_NO_GUARD))
/* return actual size without guard page */
return area->size - PAGE_SIZE;
else
return area->size;
}
虽然虚拟内存的size是保存在vm_struct 自身的结构中,但是却要分vm_struct的成员变量flags中是否包含
guard page。如果包含guard的话,直接返回area->size,否则的话,如果包含guard的话,则要减去一个PAGE_SIZE
内存管理API之get_vm_area_size
最新推荐文章于 2021-05-15 19:48:57 发布