From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Rik van Riel <riel@redhat.com>, linux-kernel@vger.kernel.org
Subject: Re: userspace pagecache management tool
Date: Sun, 04 Mar 2007 15:35:30 +0100 [thread overview]
Message-ID: <1173018930.4845.11.camel@lappy> (raw)
In-Reply-To: <20070304040742.e56fc57f.akpm@linux-foundation.org>
On Sun, 2007-03-04 at 04:07 -0800, Andrew Morton wrote:
> On Sat, 03 Mar 2007 20:56:27 -0500 Rik van Riel <riel@redhat.com> wrote:
>
> > Andrew Morton wrote:
> >
> > >>> Doing a refault thing would help a bit, but stops working at a certain point.
> > >> At what point does it stop working?
> > >
> > > We need to store that this-page-got-reclaimed info somewhere. I don't know
> > > how space-efficient that is. Did anyone ever do an implementation?
> >
> > One 32 bit word per evicted page that we keep track of.
>
> ok...
>
> I wonder if we really need a new data structure to track that. I mean,
> once a file-backed (or indeed swapcache) page has been reclaimed, its
> radix-tree slot is just sitting there with zeroes in it, asking us to reuse
> that space for something interesting, no?
>
> Of course, if all 64 pages in a radix-tree node get removed, we'll
> currently free the node itself. We could stop doing that, but the effects
> of that might be pretty bad sometimes. Instead, it sounds sensible to
> populate the now-null slot in the parent radix-tree node with an
> average/max/min/per-child-bitmap/whatever of the metrics for the 64
> non-resident pages which that non-leaf slot represents. So as the period
> since a single page got evicted increases and increases, our information
> about its state becomes less and less accurate.
>
> If that inaccuracy is a problem then perhaps we could defer the collapsing
> of a now-empty node into its parent in some manner.
Getting the refault distance out of such a radix tree would be tricky.
One solution I can think of would entail keeping a global fault count
and storing the current fault count in the radix node and on refault
subtract from the global count. The downside however is this global
thing, perhaps we could do some smart percpu count aggregate to fix it.
The other point you mention is when to we reap these radix tree nodes,
normally nonresident information gets dropped once the distance is
further than our memory is big, but these nodes don´t have explicit
order.
The collapsing idea is interesting, esp. if we could delay the collapse
so that the avg refault distance would be in some relation to the error.
next prev parent reply other threads:[~2007-03-04 14:35 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-03 20:29 userspace pagecache management tool Andrew Morton
2007-03-03 20:40 ` Rik van Riel
2007-03-03 21:12 ` Andrew Morton
2007-03-03 21:30 ` Rik van Riel
2007-03-03 21:41 ` bert hubert
2007-03-03 22:14 ` Andrew Morton
2007-03-03 22:19 ` Rik van Riel
2007-03-03 22:26 ` Andrew Morton
2007-03-03 22:28 ` Rik van Riel
2007-03-03 22:38 ` Andrew Morton
2007-03-03 22:56 ` Erik Andersen
2007-03-03 23:01 ` bert hubert
2007-03-03 23:45 ` Andrew Morton
2007-03-06 12:10 ` Pádraig Brady
2007-03-06 21:40 ` Andrew Morton
2007-03-06 21:44 ` Rik van Riel
2007-03-07 11:39 ` Pádraig Brady
2007-03-07 18:50 ` Andrew Morton
2007-03-08 7:59 ` Vaidyanathan Srinivasan
2007-03-08 8:12 ` Andrew Morton
2007-03-03 22:07 ` Andrew Morton
2007-03-03 22:25 ` Rik van Riel
2007-03-03 22:37 ` Andrew Morton
2007-03-03 22:52 ` Andrew Morton
2007-03-04 0:01 ` Rik van Riel
2007-03-04 1:02 ` Andrew Morton
2007-03-04 1:23 ` Rik van Riel
2007-03-04 1:49 ` Andrew Morton
2007-03-04 1:56 ` Rik van Riel
2007-03-04 12:07 ` Andrew Morton
2007-03-04 14:35 ` Peter Zijlstra [this message]
2007-03-04 16:01 ` Rik van Riel
2007-03-03 22:58 ` Ray Lee
2007-03-03 23:34 ` Andrew Morton
2007-03-04 1:02 ` Ray Lee
2007-03-04 1:21 ` Andrew Morton
2007-03-04 0:14 ` Eric St-Laurent
2007-03-04 1:10 ` Andrew Morton
2007-03-04 1:39 ` Rik van Riel
2007-03-04 1:16 ` Lee Revell
2007-03-04 1:39 ` Andrew Morton
2007-03-04 2:35 ` Lee Revell
2007-03-04 4:35 ` Andrew Morton
2007-03-05 11:02 ` Pádraig Brady
2007-03-05 11:12 ` Andrew Morton
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=1173018930.4845.11.camel@lappy \
--to=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox