On 4/28/23 10:33, Jason Gunthorpe wrote: > On Fri, Apr 28, 2023 at 11:56:55AM -0400, Peter Xu wrote: > >>> PageAnon(page) can be called from GUP-fast after grabbing a reference. See >>> gup_must_unshare(). >> >> Hmm.. Is it a good idea at all to sacrifise all "!anon" fast-gups for this? >> People will silently got degrade even on legal pins on shmem/hugetlb, I >> think, which seems to be still a very major use case. > > Remember gup fast was like this until quite recently - DAX wrecked it. > > I fixed it when I changed DAX to not post-scan the VMA list.. > > I'm not sure longterm and really fast need to go together. > Exactly: gup_fast + FOLL_LONGTERM is asking too much of this system, it's really excessive. I like the idea of simply: "if (FOLL_LONGTERM) jump straight to slow gup". thanks, -- John Hubbard NVIDIA