Re: [PATCH 4/6] mm: introduce page->dma_pinned_flags, _count

From: John Hubbard
Date: Wed Oct 17 2018 - 20:03:15 EST


On 10/17/18 4:09 AM, Michal Hocko wrote:
> On Tue 16-10-18 18:48:23, John Hubbard wrote:
> [...]
>> It's hard to say exactly what the active/inactive/unevictable list should
>> be when DMA is done and put_user_page*() is called, because we don't know
>> if some device read, wrote, or ignored any of those pages. Although if
>> put_user_pages_dirty() is called, that's an argument for "active", at least.
>
> Any reason to not use putback_lru_page?

That does help with which LRU to use. I guess I'd still need to track whether
a page was on an LRU when get_user_pages() was called, because it seems
that that is not necessarily always the case. And putback_lru_page() definitely
wants to deal with a page that *was* previously on an LRU.

>
> Please note I haven't really got through your patches to have a wider
> picture of the change so this is just hint for the LRU part of the
> issue.
>

Understood, and the hints are much appreciated.

--
thanks,
John Hubbard
NVIDIA