Re-thinking about this, page_cache_sync_readahead() is not good for our situation, it might end up with cluster misaligned reads which trigger internal duplicated cluster reads.
2020년 11월 27일 (금) 오전 8:46, Daeho Jeong <daeh...@gmail.com>님이 작성: > > Chao, > > Got it~ > > Eric, > > Actually, I wanted to detour the internal readahead mechanism using > page_cache_ra_unbounded() to generate cluster size aligned read > requests. > But, page_cache_async_readahead() or page_cache_sync_readahead() can > be also good enough, since those can compensate for the misaligned > reads reading more pages in advance. > > Thanks, > > 2020년 11월 27일 (금) 오전 2:49, Eric Biggers <ebigg...@kernel.org>님이 작성: > > > > On Thu, Nov 26, 2020 at 02:04:41PM +0900, Daeho Jeong wrote: > > > Eric, > > > > > > do_page_cache_ra() is defined in mm/internal.h for internal use > > > between in mm, so we cannot use this one right now. > > > So, I think we could use page_cache_ra_unbounded(), because we already > > > check i_size boundary on our own. > > > What do you think? > > > > What about page_cache_async_readahead() or page_cache_sync_readahead()? > > > > - Eric