Dave Chinner <david@xxxxxxxxxxxxx> wrote: > On Sun, Dec 16, 2012 at 03:59:53AM +0000, Eric Wong wrote: > > I want the first read() to happen sooner than it would under current > > fadvise. > > You're not listening. You do not need the kernel to be modified to > avoid the latency of issuing 1GB of readahead on a file. > > You don't need to do readahead before the first read. Nor do you do > need to wait for 1GB of readhead to be issued before you do the > first read. > > You could do readahead *concurrently* with the first read, so the > first read only blocks until the readahead of the first part of the > file completes. i.e. just do readahead() in a background thread and > don't wait for it to complete before doing the first read. What you describe with concurrent readahead() is _exactly_ what my test program (in other email) does with the RA environment variable set. I know I do not _need_ fadvise + background WILLNEED support in the kernel. But I think the kernel can make life easier and allow us to avoid doing background threads or writing our own (inferior) caching in userspace. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>