Re: [PATCH v5] mm/gup: disallow GUP writing to file-backed mappings by default

From: John Hubbard
Date: Fri Apr 28 2023 - 14:26:12 EST


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