Messages in this thread |  | | From | Daniel Phillips <> | Subject | Re: [RFC] [PATCH] Include LRU in page count | Date | Mon, 2 Sep 2002 20:01:05 +0200 |
| |
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/
|  |