Re: [RFC] [PATCH] Include LRU in page count

From: Daniel Phillips (phillips@arcor.de)
Date: Mon Sep 02 2002 - 13:01:05 EST


On Monday 02 September 2002 19:23, Christian Ehrhardt wrote:
> On Sat, Aug 31, 2002 at 09:47:29PM +0200, Daniel Phillips wrote:
> > > Also there may be lru only pages on the active list, i.e. refill
> > > inactive should have this hunk as well:
> > >
> > > > +#if LRU_PLUS_CACHE==2
> > > > + BUG_ON(!page_count(page));
> > > > + if (unlikely(page_count(page) == 1)) {
> > > > + mmstat(vmscan_free_page);
> > > > + BUG_ON(!TestClearPageLRU(page)); // side effect abuse!!
> > > > + put_page(page);
> > > > + continue;
> > > > + }
> > > > +#endif
> >
> > If we have orphans on the active list, we'd probably better just count
> > them and figure out what we're doing wrong to put them there in the first
> > place. In time they will migrate to the inactive list and get cleaned
> > up.
>
> Hm, think of your favourite memory hog being killed with lots of anon
> pages on the active list while someone else holds the lru lock.
> Won't all these anon pages legally end up orphaned on the active list
> (due to the trylock in page_cache_release)?

Some of them will, for one pass of refill_inactive. It seems hard to justify
saving a single pass through the active list executed in rare, pathological
circumstances, in return for adding even a simple test, executed commonly.

On a dual processor system, one of them should be scanning while the
other is oom_killing. It should work out fine.

-- 
Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:16 EST