Re: [PATCH] mm: make faultaround produce old ptes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

So I don't see a benefit from limiting us here. Do you?

-- 
 Kirill A. Shutemov

--
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>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]