Re: [RFC, PATCHv2 0/2] mm: map few pages around fault address if they are in page cache
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2014-02-18 19:07:09
Also in:
linux-fsdevel, lkml
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2014-02-18 19:07:09
Also in:
linux-fsdevel, lkml
On Tue, Feb 18, 2014 at 10:53 AM, Matthew Wilcox [off-list ref] 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, 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>