From: Nikita Danilov <nikita@clusterfs.com>
To: Wu Fengguang <wfg@mail.ustc.edu.cn>
Cc: Andrew Morton <akpm@osdl.org>,
Linux Kernel Mailing List <Linux-Kernel@vger.kernel.org>
Subject: Re: [PATCH 01/16] mm: delayed page activation
Date: Sun, 4 Dec 2005 18:03:15 +0300 [thread overview]
Message-ID: <17299.1331.368159.374754@gargle.gargle.HOWL> (raw)
In-Reply-To: <20051204134818.GA4305@mail.ustc.edu.cn>
Wu Fengguang writes:
> On Sun, Dec 04, 2005 at 03:11:28PM +0300, Nikita Danilov wrote:
> > Wu Fengguang writes:
> > > When a page is referenced the second time in inactive_list, mark it with
> > > PG_activate instead of moving it into active_list immediately. The actual
> > > moving work is delayed to vmscan time.
> > >
> > > This implies two essential changes:
> > > - keeps the adjecency of pages in lru;
> >
> > But this change destroys LRU ordering: at the time when shrink_list()
> > inspects PG_activate bit, information about order in which
> > mark_page_accessed() was called against pages is lost. E.g., suppose
>
> Thanks.
> But this order of re-access time may be pointless. In fact the original
> mark_page_accessed() is doing another inversion: inversion of page lifetime.
> In the word of CLOCK-Pro, a page first being re-accessed has lower
The brave new world of CLOCK-Pro is still yet to happen, right?
> inter-reference distance, and therefore should be better protected(if ignore
> possible read-ahead effects). If we move re-accessed pages immediately into
> active_list, we are pushing them closer to danger of eviction.
Huh? Pages in the active list are closer to the eviction? If it is
really so, then CLOCK-pro hijacks the meaning of active list in a very
unintuitive way. In the current MM active list is supposed to contain
hot pages that will be evicted last.
Anyway, these issues should be addressed in CLOCK-pro
implementation. Current MM tries hard to maintain LRU approximation in
both active and inactive lists.
[...]
>
> Though I have a strong feeling that with the extra PG_activate bit, the
> + ClearPageReferenced(page);
> line should be removed. That is, let the extra reference record live through it.
> The point is to smooth out the inter-reference distance. Imagine the following
> situation:
>
> - + - + + - - + -
> 1 2 3 4 5
> +: reference time
> -: shrink_list time
>
> One page have an average inter-reference distance that is smaller than the
> inter-scan distance. But the distances vary a bit. Here we'd better let the
> reference count accumulate, or at the 3rd shrink_list time it will be evicted.
I think this is pretty normal and acceptable variance. Idea is that when
system is short on memory scan rate increases together with the
precision of reference tracking.
[...]
>
> Thanks,
Che-che,
> Wu
Nikita.
next prev parent reply other threads:[~2005-12-04 15:03 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-03 7:14 [PATCH 00/16] Adaptive read-ahead V9 Wu Fengguang
2005-12-03 7:14 ` [PATCH 01/16] mm: delayed page activation Wu Fengguang
2005-12-04 12:11 ` Nikita Danilov
2005-12-04 13:48 ` Wu Fengguang
2005-12-04 15:03 ` Nikita Danilov [this message]
2005-12-04 15:37 ` Help!Unable to handle kernel NULL pointer tony
2005-12-04 19:10 ` [PATCH 01/16] mm: delayed page activation Peter Zijlstra
2005-12-05 1:48 ` Wu Fengguang
2005-12-06 17:55 ` Nikita Danilov
2005-12-07 1:42 ` Wu Fengguang
2005-12-07 9:46 ` Andrew Morton
2005-12-07 10:36 ` Wu Fengguang
2005-12-07 12:44 ` Nikita Danilov
2005-12-07 13:53 ` Wu Fengguang
2005-12-03 7:14 ` [PATCH 02/16] radixtree: sync with mainline Wu Fengguang
2005-12-04 23:57 ` Andrew Morton
2005-12-05 1:43 ` Wu Fengguang
2005-12-05 4:05 ` Wu Fengguang
2005-12-05 17:22 ` Christoph Lameter
2005-12-05 10:44 ` Wu Fengguang
2005-12-05 17:24 ` Christoph Lameter
2005-12-06 2:23 ` Wu Fengguang
2005-12-03 7:14 ` [PATCH 03/16] radixtree: look-aside cache Wu Fengguang
2005-12-03 7:14 ` [PATCH 04/16] readahead: some preparation Wu Fengguang
2005-12-03 7:14 ` [PATCH 05/16] readahead: call scheme Wu Fengguang
2005-12-03 7:14 ` [PATCH 06/16] readahead: parameters Wu Fengguang
2005-12-03 7:14 ` [PATCH 07/16] readahead: state based method Wu Fengguang
2005-12-03 7:14 ` [PATCH 08/16] readahead: context " Wu Fengguang
2005-12-03 7:14 ` [PATCH 09/16] readahead: read-around method for mmap file Wu Fengguang
2005-12-03 7:14 ` [PATCH 10/16] readahead: other methods Wu Fengguang
2005-12-03 7:14 ` [PATCH 11/16] readahead: detect and rescue live pages Wu Fengguang
2005-12-03 7:14 ` [PATCH 12/16] readahead: events accounting Wu Fengguang
2005-12-03 7:14 ` [PATCH 13/16] readahead: laptop mode support Wu Fengguang
2005-12-03 7:14 ` [PATCH 14/16] readahead: disable look-ahead for loopback file Wu Fengguang
2005-12-03 7:14 ` [PATCH 15/16] readahead: nfsd support Wu Fengguang
2005-12-03 7:15 ` [PATCH 16/16] io: prevent too much latency in the read-ahead code Wu Fengguang
-- strict thread matches above, loose matches on Subject: below --
2005-11-09 13:49 [PATCH 00/16] Adaptive read-ahead V7 Wu Fengguang
2005-11-09 13:49 ` [PATCH 01/16] mm: delayed page activation Wu Fengguang
2005-11-10 0:21 ` Nick Piggin
2005-11-10 3:15 ` Wu Fengguang
2005-11-10 9:17 ` Peter Zijlstra
2005-11-10 10:30 ` Wu Fengguang
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=17299.1331.368159.374754@gargle.gargle.HOWL \
--to=nikita@clusterfs.com \
--cc=Linux-Kernel@vger.kernel.org \
--cc=akpm@osdl.org \
--cc=wfg@mail.ustc.edu.cn \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®