Subject: Re: [PATCH v4 2/2] mm/gup/writeback: add callbacks for inaccessible pages

From: Dave Hansen <[email-masked]>
Date: Thu, 16 Apr 2020 08:36:50 -0700

On 4/16/20 7:59 AM, Claudio Imbrenda wrote:
> On Thu, 16 Apr 2020 07:20:48 -0700
> Dave Hansen <[email-masked]> wrote:
>> On 4/16/20 5:15 AM, Claudio Imbrenda wrote:
>>>> I assumed that this was all anonymous-only so it's always dirty
>>>> before writeback starts.  
>>> it could also be mmapped  
>>
>> Let's say you have a mmap()'d ramfs file.  Another process calls which
>> doesn't have it mapped calls sys_write() and writes to the file.
...
>> Where is the arch_make_page_accessible() in this case on the ramfs
>> page?
> 
> it's in the fault handler for the exception the CPU will get when
> attempting to write the data to the protected page

Ahh, so this is *just* intended to precede I/O done on the page, when a
non-host entity is touching the memory?

That seems inconsistent with the process_vm_readv/writev() paths which
set FOLL_PIN on their pin_remote_user_pages() requests, but don't do I/O
to the memory.