From: Jaegeuk Hanse <jaegeuk.hanse@gmail.com>
To: Fengguang Wu <fengguang.wu@intel.com>
Cc: "Metin Döşlü" <metindoslu@gmail.com>, "Jan Kara" <jack@suse.cz>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: Problem in Page Cache Replacement
Date: Fri, 23 Nov 2012 10:10:26 +0800 [thread overview]
Message-ID: <50AEDB12.6090300@gmail.com> (raw)
In-Reply-To: <20121122155318.GA12636@localhost>
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 DA?A?lA 1/4 wrote:
>>> On Wed, Nov 21, 2012 at 12:00 PM, Jaegeuk Hanse <jaegeuk.hanse@gmail.com> 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@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Jaegeuk Hanse <jaegeuk.hanse@gmail.com>
To: Fengguang Wu <fengguang.wu@intel.com>
Cc: "Metin Döşlü" <metindoslu@gmail.com>, "Jan Kara" <jack@suse.cz>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: Problem in Page Cache Replacement
Date: Fri, 23 Nov 2012 10:10:26 +0800 [thread overview]
Message-ID: <50AEDB12.6090300@gmail.com> (raw)
In-Reply-To: <20121122155318.GA12636@localhost>
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@gmail.com> 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
next prev parent reply other threads:[~2012-11-23 2:10 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-20 17:42 Problem in Page Cache Replacement metin d
2012-11-20 18:25 ` Jan Kara
2012-11-20 18:25 ` Jan Kara
2012-11-21 8:03 ` metin d
2012-11-21 8:03 ` metin d
2012-11-21 8:13 ` metin d
2012-11-21 8:13 ` metin d
2012-11-21 8:34 ` Jaegeuk Hanse
2012-11-21 8:34 ` Jaegeuk Hanse
2012-11-21 9:02 ` Fengguang Wu
2012-11-21 9:10 ` Fengguang Wu
2012-11-21 9:10 ` Fengguang Wu
2012-11-21 9:42 ` Jaegeuk Hanse
2012-11-21 9:42 ` Jaegeuk Hanse
2012-11-21 9:58 ` metin d
2012-11-21 10:00 ` Jaegeuk Hanse
2012-11-21 10:07 ` Metin Döşlü
2012-11-21 10:07 ` Metin Döşlü
2012-11-22 15:41 ` Fengguang Wu
2012-11-22 15:41 ` Fengguang Wu
2012-11-22 15:53 ` Fengguang Wu
2012-11-22 15:53 ` Fengguang Wu
2012-11-23 2:10 ` Jaegeuk Hanse [this message]
2012-11-23 2:10 ` Jaegeuk Hanse
2012-11-25 20:08 ` Rik van Riel
2012-11-25 20:08 ` Rik van Riel
2012-11-24 15:06 ` Metin Döşlü
2012-11-24 15:06 ` Metin Döşlü
2012-11-21 10:00 ` metin d
2012-11-22 15:26 ` Fengguang Wu
2012-11-22 15:26 ` Fengguang Wu
2012-11-23 1:32 ` Jaegeuk Hanse
2012-11-23 1:32 ` Jaegeuk Hanse
2012-11-23 2:25 ` Fengguang Wu
2012-11-23 2:25 ` Fengguang Wu
[not found] ` <50ACA166.70705@gmail.com>
2012-11-22 13:00 ` Jaegeuk Hanse
2012-11-21 21:34 ` Johannes Weiner
2012-11-21 21:34 ` Johannes Weiner
2012-11-21 22:01 ` metin d
2012-11-21 22:01 ` metin d
2012-11-22 0:48 ` Jaegeuk Hanse
2012-11-22 0:48 ` Jaegeuk Hanse
2012-11-22 1:09 ` Johannes Weiner
2012-11-22 1:09 ` Johannes Weiner
2012-11-22 9:37 ` metin d
2012-11-22 9:37 ` metin d
2012-11-22 13:16 ` Jaegeuk Hanse
2012-11-22 13:16 ` Jaegeuk Hanse
2012-11-22 16:17 ` Johannes Weiner
2012-11-22 16:17 ` Johannes Weiner
2012-11-23 2:14 ` Jaegeuk Hanse
2012-11-23 2:14 ` Jaegeuk Hanse
2012-11-23 1:58 ` Jaegeuk Hanse
2012-11-23 1:58 ` Jaegeuk Hanse
2012-11-23 8:08 ` metin d
2012-11-23 8:08 ` metin d
2012-11-23 8:17 ` Jaegeuk Hanse
2012-11-23 8:17 ` Jaegeuk Hanse
2012-11-23 8:25 ` metin d
2012-11-23 8:25 ` metin d
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50AEDB12.6090300@gmail.com \
--to=jaegeuk.hanse@gmail.com \
--cc=fengguang.wu@intel.com \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=metindoslu@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.