Thread (137 messages) 137 messages, 11 authors, 2022-01-04

Re: [PATCH v1 06/11] mm: support GUP-triggered unsharing via FAULT_FLAG_UNSHARE (!hugetlb)

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2021-12-19 21:53:57
Also in: linux-kselftest, linux-mm, lkml

On Sun, Dec 19, 2021 at 1:48 PM Matthew Wilcox [off-list ref] wrote:
Yes, agreed, I was thinking that we could use "not mapped at all"
as an optimisation to avoid doing rmap walks.  eg __unmap_and_move().
So the thing is, it's a very dodgy optimization for a rather simple
reason: what if somebody pages the page in?

So even "not mapped at all" is questionable.

You have to check that it's also not a swapcache page, and hold the
page lock for that check, at the very least.

And by then, you're really in a very unusual situation - and my gut
feel says not one worth optimizing for (because anon pages are
_usually_ mapped at least once).

But I dunno - it might depend on your load. Maybe you have some very
special load that happens to trigger this case a lot?

              Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help