内核之页高速缓存
文章平均质量分 78
uestc-leon
我想做一个强者
展开
-
块设备文件的readpage方法
块设备文件的readpage方法总是相同的。都是有blkdev_readpage( )函数实现的,它实际调用block_read_full_page( ):static int blkdev_readpage(struct file * file, struct page * page) { return block_read_full_page(page, blkdev_get_block原创 2017-07-10 22:52:18 · 1885 阅读 · 0 评论 -
普通文件的读流程分析
关于VFS的通用读,我们不做考虑,本文以如下函数为根,往下分析: [cpp] view plain copy do_generic_mapping_read(*ppos,*mapping,*desc) 本函数的目的是,从磁盘读数据到用户态, 先是从*ppos开始的页,一直读到*ppos+desc->count 为止转载 2017-07-11 09:46:57 · 284 阅读 · 0 评论 -
普通文件的readpage方法(do_mpage_readpage)
当所读文件所在的块并不在页高速缓存,我们需要使用readpage方法把页从磁盘读到内存中来,并加入到页缓存中去。 address_space对象的readpage方法存放的是函数地址,这种函数激活从磁盘到页高速缓存的io数据传送。对于普通文件,这个字段通常指向调用mpage_readpage( )函数的封装函数。如ext2文件系统的readpage方法:static int ext2_readpa原创 2017-07-11 17:55:16 · 2586 阅读 · 0 评论