Lines Matching refs:ractl
174 void page_cache_ra_unbounded(struct readahead_control *ractl, in page_cache_ra_unbounded() argument
177 struct address_space *mapping = ractl->mapping; in page_cache_ra_unbounded()
178 unsigned long index = readahead_index(ractl); in page_cache_ra_unbounded()
201 BUG_ON(index + i != ractl->_index + ractl->_nr_pages); in page_cache_ra_unbounded()
212 read_pages(ractl, &page_pool, true); in page_cache_ra_unbounded()
225 read_pages(ractl, &page_pool, true); in page_cache_ra_unbounded()
230 ractl->_nr_pages++; in page_cache_ra_unbounded()
238 read_pages(ractl, &page_pool, false); in page_cache_ra_unbounded()
249 void do_page_cache_ra(struct readahead_control *ractl, in do_page_cache_ra() argument
252 struct inode *inode = ractl->mapping->host; in do_page_cache_ra()
253 unsigned long index = readahead_index(ractl); in do_page_cache_ra()
267 page_cache_ra_unbounded(ractl, nr_to_read, lookahead_size); in do_page_cache_ra()
274 void force_page_cache_ra(struct readahead_control *ractl, in force_page_cache_ra() argument
277 struct address_space *mapping = ractl->mapping; in force_page_cache_ra()
289 index = readahead_index(ractl); in force_page_cache_ra()
297 ractl->_index = index; in force_page_cache_ra()
298 do_page_cache_ra(ractl, this_chunk, 0); in force_page_cache_ra()
435 static void ondemand_readahead(struct readahead_control *ractl, in ondemand_readahead() argument
439 struct backing_dev_info *bdi = inode_to_bdi(ractl->mapping->host); in ondemand_readahead()
442 unsigned long index = readahead_index(ractl); in ondemand_readahead()
480 start = page_cache_next_miss(ractl->mapping, index + 1, in ondemand_readahead()
514 if (try_context_readahead(ractl->mapping, ra, index, req_size, in ondemand_readahead()
522 do_page_cache_ra(ractl, req_size, 0); in ondemand_readahead()
548 ractl->_index = ra->start; in ondemand_readahead()
549 do_page_cache_ra(ractl, ra->size, ra->async_size); in ondemand_readahead()
552 void page_cache_sync_ra(struct readahead_control *ractl, in page_cache_sync_ra() argument
555 bool do_forced_ra = ractl->file && (ractl->file->f_mode & FMODE_RANDOM); in page_cache_sync_ra()
564 if (!ractl->file) in page_cache_sync_ra()
572 force_page_cache_ra(ractl, ra, req_count); in page_cache_sync_ra()
577 ondemand_readahead(ractl, ra, false, req_count); in page_cache_sync_ra()
581 void page_cache_async_ra(struct readahead_control *ractl, in page_cache_async_ra() argument
600 if (inode_read_congested(ractl->mapping->host)) in page_cache_async_ra()
607 ondemand_readahead(ractl, ra, true, req_count); in page_cache_async_ra()