当前位置: 首页 > >

cache页缓存读取流程

发布时间:

去页缓存区寻找对应读取的缓存页 find_get_page(mapping, index)

是否找到

NO

YES

判断缓存页是不是 最新的

新建一个缓存页并lock page_cache_alloc_cold(mapping)

LOCK当前缓存页 lock_page_killable(page)

NO

是否为最新

从磁盘中读取 mapping->a_ops->readpage(filp, page) inode->i_mapping->a_ops = &ext4_aops

YES 从磁盘中读取 mapping->a_ops->readpage(filp, page) inode->i_mapping->a_ops = &ext4_aops 拷贝到用户空间 actor(desc, page, offset, nr)

结束




友情链接: