Re: [RFC, PATCHv2 0/2] mm: map few pages around fault address if they are in page cache

From: Linus Torvalds
Date: Tue Feb 18 2014 - 14:07:28 EST


On Tue, Feb 18, 2014 at 10:53 AM, Matthew Wilcox <willy@xxxxxxxxxxxxxxx> wrote:
>
> Yes, I did mean "holepunches and page faults". But here's the race I see:

Hmm. With truncate, we should be protected by i_size being changed
first (iirc - I didn't actually check), but I think you're right that
hole punching might race with a page being mapped at the same time.

> What I'm suggesting is going back to Kirill's earlier patch, but only
> locking the page with the highest index instead of all of the pages.
> truncate() will block on that page and then we'll notice that some or
> all of the other pages are also now past i_size and give up.

Actually, Kirill's latest patch seems to solve the problem with
locking - by simply never locking more than one page at a time. So I
guess it's all moot at least wrt the page preload..

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/