Hi Minchan, On Mon, Jan 04, 2010 at 01:20:49PM +0800, Minchan Kim wrote: > > --- linux.orig/mm/readahead.c 2010-01-04 12:39:29.000000000 +0800 > > +++ linux/mm/readahead.c 2010-01-04 12:39:30.000000000 +0800 > > @@ -501,6 +501,12 @@ void page_cache_sync_readahead(struct ad > > if (!ra->ra_pages) > > return; > > > > + /* be dumb */ > > + if (filp->f_flags & O_RANDOM) { > > + force_page_cache_readahead(mapping, filp, offset, req_size); > > + return; > > + } > > + > > Let me have a dumb question. :) > > How about testing O_RANDOM in front of ra_pages testing? > > My intention is that although we turn off ra, it would be better to read > contiguous block all at once than readpage() callback doing I/O > one page at a time. > > Is it break some semantics or happen some problem in ondemand readahead? Yes it will have some problem with shrink_readahead_size_eio(), which want to disable readahead and use ->readpage() when ra_pages==0. Do you have specific use case in mind? The file systems that set ra_pages=0 seems to don't need readahead, too. Thanks, Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html