Re: Problem in Page Cache Replacement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]