Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\readahead.c Create Date:2022-07-28 14:12:15
Last Modify:2020-03-17 21:13:07 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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

Proto: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)

Type:void

Parameter:

TypeParameterName
struct address_space *mapping
struct file_ra_state *ra
struct file *filp
struct page *page
unsigned longoffset
unsigned longreq_size
553  If Not Maximum readahead window Then Return
559  If Only test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting. Then Return
562  ClearPageReadahead(page)
567  If inode_read_congested(host) Then Return
570  If blk_cgroup_congested() Then Return
574  A minimal readahead algorithm for trivial sequential/random reads.
Caller
NameDescribe
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.