Re: [PATCH] fadvise: perform WILLNEED readahead in a workqueue
From: Eric Wong <hidden>
Date: 2012-12-16 05:17:59
Also in:
lkml
Dave Chinner [off-list ref] wrote:
On Sun, Dec 16, 2012 at 03:59:53AM +0000, Eric Wong wrote:quoted
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@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>