On 06/24/2015 08:33 AM, Vlastimil Babka wrote: > On 06/22/2015 03:37 AM, Rik van Riel wrote: >> On 06/21/2015 02:11 PM, Kirill A. Shutemov wrote: >>> On Sat, Jun 20, 2015 at 02:28:06PM +0300, Ebru Akagunduz wrote: >>>> + __collapse_huge_page_swapin(mm, vma, address, pmd, pte); >>>> + >>> >>> And now the pages we swapped in are not isolated, right? >>> What prevents them from being swapped out again or whatever? >> >> Nothing, but __collapse_huge_page_isolate is run with the >> appropriate locks to ensure that once we actually collapse >> the THP, things are present. >> >> The way do_swap_page is called, khugepaged does not even >> wait for pages to be brought in from swap. It just maps >> in pages that are in the swap cache, and which can be >> immediately locked (without waiting). >> >> It will also start IO on pages that are not in memory >> yet, and will hopefully get those next round. > > Hm so what if the process is slightly larger than available memory and really > doesn't touch the swapped out pages that much? Won't that just be thrashing and > next round you find them swapped out again? Yes, it might. However, all the policy smarts are in patch 2/3, not in patch 3/3 (which has the mechanism). I suspect the code could use some more smarts, but I am not quite sure what they should be... -- All rights reversed -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>