Thread (25 messages) 25 messages, 7 authors, 2021-06-22

Re: Do we need to unrevert "fs: do not prefault sys_write() user buffer pages"?

From: Matthew Wilcox <willy@infradead.org>
Date: 2021-06-22 18:24:14
Also in: linux-ext4, linux-fsdevel, lkml

On Tue, Jun 22, 2021 at 11:07:56AM -0700, Linus Torvalds wrote:
On Tue, Jun 22, 2021 at 11:05 AM Matthew Wilcox [off-list ref] wrote:
quoted
Huh?  Last I checked, the fault_in_readable actually read a byte from
the page.  It has to wait for the read to complete before that can
happen.
Yeah, we don't have any kind of async fault-in model.

I'm not sure how that would even look. I don't think it would
necessarily be *impossible* (special marker in the exception table to
let the fault code know that this is a "prepare" fault), but it would
be pretty challenging.
It wouldn't be _that_ bad necessarily.  filemap_fault:

        page = find_get_page(mapping, offset);
...
        } else if (!page) {
                fpin = do_sync_mmap_readahead(vmf);

... and we could return at that point if the flag was set.  There'd be
some more details to fill in (if there's a !uptodate page in the page
cache, don't wait for it), but it might not be too bad.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help