Re: [patch 10/10] mm: workingset: keep shadow entries in check

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

 



On Mon, Jun 03, 2013 at 11:20:32AM -0400, Johannes Weiner wrote:
> On Mon, Jun 03, 2013 at 10:25:33AM +0200, Peter Zijlstra wrote:
> > On Thu, May 30, 2013 at 02:04:06PM -0400, Johannes Weiner wrote:
> > > Previously, page cache radix tree nodes were freed after reclaim
> > > emptied out their page pointers.  But now reclaim stores shadow
> > > entries in their place, which are only reclaimed when the inodes
> > > themselves are reclaimed.  This is problematic for bigger files that
> > > are still in use after they have a significant amount of their cache
> > > reclaimed, without any of those pages actually refaulting.  The shadow
> > > entries will just sit there and waste memory.  In the worst case, the
> > > shadow entries will accumulate until the machine runs out of memory.
> > > 
> > 
> > Can't we simply prune all refault entries that have a distance larger
> > than the memory size? Then we must assume that no refault entry means
> > its too old, which I think is a fair assumption.
> 
> Two workloads bound to two nodes might not push pages through the LRUs
> at the same pace, so a distance might be bigger than memory due to the
> faster moving node, yet still be a hit in the slower moving one.  We
> can't really know until we evaluate it on a per-zone basis.

But wasn't patch 1 of this series about making sure each zone is scanned
proportionally to its size?

But given that, sure maybe 1 memory size is a bit strict, but surely we
can put a limit on things at about 2 memory sizes?



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