Re: Problem in Page Cache Replacement

From: Jaegeuk Hanse
Date: Thu Nov 22 2012 - 21:10:21 EST


On 11/22/2012 11:53 PM, Fengguang Wu wrote:
On Thu, Nov 22, 2012 at 11:41:07PM +0800, Fengguang Wu wrote:
On Wed, Nov 21, 2012 at 12:07:22PM +0200, Metin DÃÅlà wrote:
On Wed, Nov 21, 2012 at 12:00 PM, Jaegeuk Hanse <jaegeuk.hanse@xxxxxxxxx> wrote:
On 11/21/2012 05:58 PM, metin d wrote:

Hi Fengguang,

I run tests and attached the results. The line below I guess shows the data-1 page caches.

0x000000080000006c 6584051 25718 __RU_lA___________________P________ referenced,uptodate,lru,active,private


I thinks this is just one state of page cache pages.
But why these page caches are in this state as opposed to other page
caches. From the results I conclude that:

data-1 pages are in state : referenced,uptodate,lru,active,private
I wonder if it's this code that stops data-1 pages from being
reclaimed:

shrink_page_list():

if (page_has_private(page)) {
if (!try_to_release_page(page, sc->gfp_mask))
goto activate_locked;

What's the filesystem used?
Ah it's more likely caused by this logic:

if (is_active_lru(lru)) {
if (inactive_list_is_low(mz, file))
shrink_active_list(nr_to_scan, mz, sc, priority, file);

The active file list won't be scanned at all if it's smaller than the
active list. In this case, it's inactive=33586MB > active=25719MB. So
the data-1 pages in the active list will never be scanned and reclaimed.

Hi Fengguang,

It seems that most of data-1 file pages are in active lru cache and most of data-2 file pages are in inactive lru cache. As Johannes mentioned, if inter-reference distance is bigger than half of memory, the pages will not be actived. How you intend to resolve this issue? Is Johannes's inactive list threshing idea available?

Regards,
Jaegeuk


data-2 pages are in state : referenced,uptodate,lru,mappedtodisk
Thanks,
Fengguang

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