On Tue 17-05-16 14:31:14, Kirill A. Shutemov wrote: > On Tue, May 17, 2016 at 11:02:54AM +0200, Michal Hocko wrote: [...] > > --- > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > > index 87f09dc986ab..1a4d4c807d92 100644 > > --- a/mm/huge_memory.c > > +++ b/mm/huge_memory.c > > @@ -2389,7 +2389,8 @@ static void __collapse_huge_page_swapin(struct mm_struct *mm, > > swapped_in++; > > ret = do_swap_page(mm, vma, _address, pte, pmd, > > FAULT_FLAG_ALLOW_RETRY|FAULT_FLAG_RETRY_NOWAIT, > > - pteval); > > + pteval, > > + GFP_HIGHUSER_MOVABLE | ~__GFP_DIRECT_RECLAIM); > > Why only direct recliam? I'm not sure if triggering kswapd is justified > for swapin. Maybe ~__GFP_RECLAIM? Dunno, skipping kswapd sounds like we might consume a lot of memory and the next request might hit the direct reclaim too early. But this is only a speculation. This has to be measured properly and evaluated against real usecases. -- Michal Hocko SUSE Labs -- 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>