On Thu, Mar 10, 2022 at 9:13 AM David Hildenbrand <david@xxxxxxxxxx> wrote: > > For the time being, the idea LGTM. I'll take that as an acked-by, and I think I'll just commit it to my real tree rather than delay this fix for the next merge window (only to have it then be marked as stable and applied that wat). I do agree that we should look at future changes in this area, ranging from limiting the number of pages to the (I think already pending) work for arm64 to use an instruction to probe every 128 bytes instead of on a page basis. It might even be reasonable to have some hybrid approach that walks the page tables and faults things in - not quite GUP, not quite 'handle_mm_fault()'. That said, this is hopefully always going to be the rare case. Yes, people do IO on "cold" virtual memory, but people doing any performance work hopefully know that locality (temporal and spatial) matters not just for the regular CPU data caches, but for pretty much everything. Linus