Thread (18 messages) 18 messages, 5 authors, 2013-02-22

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help