Re: [PATCH] mm: evict streaming IO cache first

Linus Torvalds
2008-11-17T16:22:43Z

On Mon, 17 Nov 2008, KAMEZAWA Hiroyuki wrote:
>
> How about resetting zone->recent_scanned/rotated to be some value calculated from
> INACTIVE_ANON/INACTIVE_FILE at some time (when the system is enough idle) ?

.. or how about just considering the act of adding a new page to the LRU
to be a "scan" event? IOW, "scanning" is not necessarily just an act of
the VM looking for pages to free, but would be a more general "activity"
meter.

IOW, when we calculate the percentages of anon-vs-file in get_scan_ratio()
we take into account how much anon-page activity vs how much file cache
activity there has been.

So if we've seen a lot of filesystem activity ("streaming"), we would tend
to prefer to scan the page cache. If we've seen a lot of anon page
mapping, we'd tend to prefer to scan the anon side.

That would seem to be the right kind of thing to do: if we literally have
a load that only does streaming and pages never get moved to the active
LRU, it should basically keep the page cache close to constant size -
which is just another way of saying that we should only be scanning page
cache pages.

Hmm?

Linus