Re: [PATCH 2/2] mm: soft_dirty: userfaultfd: introduce wrprotect_tlb_flush_pending
From: Andrea Arcangeli <hidden>
Date: 2021-01-09 00:14:25
Also in:
lkml
On Fri, Jan 08, 2021 at 11:25:21AM -0800, Linus Torvalds wrote:
On Fri, Jan 8, 2021 at 9:53 AM Andrea Arcangeli [off-list ref] wrote:quoted
Do you intend to eventually fix the zygote vmsplice case or not? Because in current upstream it's not fixed currently using the enterprise default config.Is this the hugepage case? Neither of your patches actually touched that, so I've forgotten the details.
The two patches only fixed the TLB flushing deferral in clear_refs and uffd-wp. So I didn't actually try to fix the hugepage case by adding the page_count checks there too. I could try to do that at least it'd be consistent but I still would try to find an alternate solution later.
quoted
Irrelevant special case as in: long term GUP pin on the memory?Irrelevant special case in that (a) an extra COW shouldn't be a correctness issue unless somebody does something horribly wrong (and obviously the code that hasn't taken the mmap_lock for writing are then examples of that) and (b) it's not a performance issue either unless you can find a real load that does it. Hmm?
For b) I don't have an hard time to imagine `ps` hanging for seconds, if clear_refs is touched on a 4T mm, but b) is not the main concern. Having to rely on a) is the main concern and it's not about tlb flushes but the long term GUP pins. Thanks, Andrea