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