函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\readahead.c Create Date:2022-07-27 15:35:58
Last Modify:2020-03-17 21:13:07 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:page_cache_async_readahead - file readahead for marked pages*@mapping: address_space which holds the pagecache and I/O vectors*@ra: file_ra_state which holds the readahead state*@filp: passed on to ->readpage() and ->readpages()*@page: the page at @offset

函数原型:void page_cache_async_readahead(struct address_space *mapping, struct file_ra_state *ra, struct file *filp, struct page *page, unsigned long offset, unsigned long req_size)

返回类型:void

参数:

类型参数名称
struct address_space *mapping
struct file_ra_state *ra
struct file *filp
struct page *page
unsigned longoffset
unsigned longreq_size
553  如果非Maximum readahead window 则返回
559  如果Only test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting.则返回
562  ClearPageReadahead(page)
567  如果inode_read_congested(host)则返回
570  如果blk_cgroup_congested()则返回
574  A minimal readahead algorithm for trivial sequential/random reads.
调用者
名称描述
do_async_mmap_readaheadAsynchronous readahead happens when we find the page and PG_readahead,* so we want to possibly extend the readahead further. We return the file that* was pinned if we have to drop the mmap_sem in order to do IO.
generic_file_buffered_readgeneric_file_buffered_read - generic file read routine*@iocb: the iocb to read*@iter: data destination*@written: already copied* This is a generic file read routine, and uses the* mapping->a_ops->readpage() function for the actual low-level stuff.