Lines Matching refs:ractl

188 void page_cache_ra_unbounded(struct readahead_control *ractl,  in page_cache_ra_unbounded()  argument
191 struct address_space *mapping = ractl->mapping; in page_cache_ra_unbounded()
192 unsigned long index = readahead_index(ractl); in page_cache_ra_unbounded()
215 BUG_ON(index + i != ractl->_index + ractl->_nr_pages); in page_cache_ra_unbounded()
226 read_pages(ractl, &page_pool, true); in page_cache_ra_unbounded()
239 read_pages(ractl, &page_pool, true); in page_cache_ra_unbounded()
244 ractl->_nr_pages++; in page_cache_ra_unbounded()
252 read_pages(ractl, &page_pool, false); in page_cache_ra_unbounded()
263 void do_page_cache_ra(struct readahead_control *ractl, in do_page_cache_ra() argument
266 struct inode *inode = ractl->mapping->host; in do_page_cache_ra()
267 unsigned long index = readahead_index(ractl); in do_page_cache_ra()
281 page_cache_ra_unbounded(ractl, nr_to_read, lookahead_size); in do_page_cache_ra()
288 void force_page_cache_ra(struct readahead_control *ractl, in force_page_cache_ra() argument
291 struct address_space *mapping = ractl->mapping; in force_page_cache_ra()
306 index = readahead_index(ractl); in force_page_cache_ra()
321 ractl->_index = index; in force_page_cache_ra()
324 do_page_cache_ra(ractl, this_chunk, this_chunk / 2); in force_page_cache_ra()
326 do_page_cache_ra(ractl, this_chunk, 0); in force_page_cache_ra()
328 do_page_cache_ra(ractl, this_chunk, 0); in force_page_cache_ra()
466 static void ondemand_readahead(struct readahead_control *ractl, in ondemand_readahead() argument
470 struct backing_dev_info *bdi = inode_to_bdi(ractl->mapping->host); in ondemand_readahead()
473 unsigned long index = readahead_index(ractl); in ondemand_readahead()
483 trace_android_vh_ra_tuning_max_page(ractl, &max_pages); in ondemand_readahead()
513 start = page_cache_next_miss(ractl->mapping, index + 1, in ondemand_readahead()
547 if (try_context_readahead(ractl->mapping, ra, index, req_size, in ondemand_readahead()
555 do_page_cache_ra(ractl, req_size, 0); in ondemand_readahead()
581 ractl->_index = ra->start; in ondemand_readahead()
582 do_page_cache_ra(ractl, ra->size, ra->async_size); in ondemand_readahead()
585 void page_cache_sync_ra(struct readahead_control *ractl, in page_cache_sync_ra() argument
588 bool do_forced_ra = ractl->file && (ractl->file->f_mode & FMODE_RANDOM); in page_cache_sync_ra()
597 if (!ractl->file) in page_cache_sync_ra()
605 force_page_cache_ra(ractl, ra, req_count); in page_cache_sync_ra()
610 ondemand_readahead(ractl, ra, false, req_count); in page_cache_sync_ra()
614 void page_cache_async_ra(struct readahead_control *ractl, in page_cache_async_ra() argument
633 if (inode_read_congested(ractl->mapping->host)) in page_cache_async_ra()
640 ondemand_readahead(ractl, ra, true, req_count); in page_cache_async_ra()