On Wed 18-05-16 11:33:48, Kirill A. Shutemov wrote: > On Wed, May 18, 2016 at 10:22:28AM +0200, Michal Hocko wrote: > > On Wed 18-05-16 11:04:33, Kirill A. Shutemov wrote: > > > On Wed, May 18, 2016 at 09:25:50AM +0200, Michal Hocko wrote: > > > > On Tue 17-05-16 15:32:46, Kirill A. Shutemov wrote: > > > > > Currently, faultaround code produces young pte. This can screw up vmscan > > > > > behaviour[1], as it makes vmscan think that these pages are hot and not > > > > > push them out on first round. > > > > > > > > > > Let modify faultaround to produce old pte, so they can easily be > > > > > reclaimed under memory pressure. > > > > > > > > Could you be more specific about what was the original issue that led to > > > > this patch? I can understand that marking all those pages new might be > > > > too optimistic but when does it matter actually? Sparsely access file > > > > mmap? > > > > > > Yes, sparse file access. Faultaround gets more pages mapped and all of > > > them are young. Under memory pressure, this makes vmscan to swap out anon > > > pages instead or drop other page cache pages which otherwise stay > > > resident. > > > > I am wondering whether it would make more sense to do the fault around > > only when chances are that the memory will be used. E.g. ~VM_RAND_READ > > resp VM_SEQ_READ rather than unconditionally. > > I'm not sure about this. > > The idea of faularound is that we already have almost everything in our > hands to map additional pages for very little cost: all required locks > has been taken and radix-tree look up will be done anyway. Fair enough. Meddling pte young bits sounds like a better approach then. Feel free to add Acked-by: Michal Hocko <mhocko@xxxxxxxx> -- 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>