Re: More info: 2.1.108 page cache performance on low memory

Stephen C. Tweedie
1998-07-20T20:12:48Z

Hi,

On 18 Jul 1998 11:40:20 -0500, ebiederm+eric@npwt.net (Eric
W. Biederman) said:

>>>>>> "ZC" == Zlatko Calusic <Zlatko.Calusic@CARNet.hr> writes:
> Let me just step back a second so I can be clear:

> A) The idea proposed by Stephen way perhaps we could use Least
> Recently Used lists instead of page aging. It's effectively the same
> thing but shrink_mmap can find the old pages much much faster, by
> simply following a linked list.

> B) This idea intrigues me because handling of generic dirty pages
> I have about the same problem. In cloneing bdflush for the page cache
> I discovered two fields I would need to add to struct page to do an
> exact cloning job. A page writetime, and LRU list pointers for dirty
> pages. I went ahead and implemented them, but also implemented an
> alternative, which is the default.

We already have all of the inode's pages on a linked list. Extending
that to have two separate lists, one for clean pages and one for
dirty, would be cheap and would not have the extra memory overhead.

--Stephen