From: Daniel Phillips <phillips@arcor.de>
To: Andrew Morton <akpm@zip.com.au>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Rmap speedup
Date: Mon, 5 Aug 2002 15:48:26 +0200 [thread overview]
Message-ID: <E17biDi-0000w7-00@starship> (raw)
In-Reply-To: <3D4E23C4.F746CF3D@zip.com.au>
On Monday 05 August 2002 09:05, Andrew Morton wrote:
> Andrew Morton wrote:
> It makes basically no difference at all. Maybe pulled back 10 of the lost
> 50%. The kernel is still spending much time in the pte_chain walk in
> page_remove_rmap().
I wouldn't call that 'no difference', just not as much as hoped for.
Well, I'm not quite out of tricks yet. There's one more to go, and it just
might be worth more than all the others. It's a little subtle though, and
I'm still working out some wrinkles, so I'll write it up in detail tomorrow.
For now, consider that our rmaps tend to form a lot of parallel chains. That
is, if you look at the chains for two pages whose index differs by one, the
pte fields of each of the pte_chain nodes differs by 4. This relationship
tends to hold quite consistently over rather large groups of pages, a fact
that I took advantage of in the lock batching. Now, if we put a relative
number in the pte field instead of an absolute pointer, the corresponding
pte_chain nodes for all those parallel chains become identical. How nice it
would be if we could share those pte chain nodes between pages.
I've convinced myself that this is possible. It's a little tricky though: we
have to handle CoW unsharing, and the possibility of the index changing (as
with the lock batching, but in this case there's a little more work to do).
My feeling is that the implementation will not be particularly messy, even
though it sounds scary on first blush.
> Despite the fact that the number of pte_chain references in
> page_add/remove_rmap now just averages two in that test.
It's weird that it only averages two. It's a four way and your running 10 in
parallel, plus a process to watch for completion, right?
--
Daniel
next prev parent reply other threads:[~2002-08-05 13:43 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-02 19:42 Daniel Phillips
2002-08-02 20:20 ` Andrew Morton
2002-08-02 21:40 ` William Lee Irwin III
2002-08-03 0:14 ` Rik van Riel
2002-08-03 0:31 ` Andrew Morton
2002-08-03 0:52 ` William Lee Irwin III
2002-08-03 0:56 ` Rik van Riel
2002-08-03 3:47 ` Daniel Phillips
2002-08-03 5:24 ` Andrew Morton
2002-08-03 18:43 ` Daniel Phillips
2002-08-03 21:40 ` Andrew Morton
2002-08-03 21:54 ` Rik van Riel
2002-08-03 22:49 ` Daniel Phillips
2002-08-03 23:55 ` Gerrit Huizenga
2002-08-04 0:47 ` Andrew Morton
2002-08-04 1:01 ` Daniel Phillips
2002-08-04 14:11 ` Thunder from the hill
2002-08-04 14:47 ` Zwane Mwaikambo
2002-08-04 16:55 ` Tobias Ringstrom
2002-08-03 23:36 ` Daniel Phillips
2002-08-04 0:44 ` Andrew Morton
2002-08-03 21:05 ` Rik van Riel
2002-08-03 21:36 ` Daniel Phillips
2002-08-03 21:43 ` Andrew Morton
2002-08-03 21:41 ` Daniel Phillips
2002-08-03 21:24 ` [PATCH] Rmap speedup... call for testing Daniel Phillips
2002-08-03 22:05 ` [PATCH] Rmap speedup Daniel Phillips
2002-08-03 22:39 ` Andrew Morton
2002-08-03 22:35 ` Daniel Phillips
2002-08-04 23:33 ` Andrew Morton
2002-08-05 0:35 ` Daniel Phillips
2002-08-05 7:05 ` Andrew Morton
2002-08-05 13:48 ` Daniel Phillips [this message]
2002-08-05 13:57 ` Rik van Riel
2002-08-05 18:16 ` Andrew Morton
2002-08-07 18:59 ` Daniel Phillips
2002-08-07 19:40 ` Andrew Morton
2002-08-07 20:17 ` Daniel Phillips
2002-08-07 20:34 ` Andrew Morton
2002-08-07 20:51 ` Daniel Phillips
2002-08-07 20:54 ` Rik van Riel
2002-08-07 22:21 ` Daniel Phillips
2002-08-07 22:48 ` Andrew Morton
2002-08-07 20:39 ` Daniel Phillips
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=E17biDi-0000w7-00@starship \
--to=phillips@arcor.de \
--cc=akpm@zip.com.au \
--cc=linux-kernel@vger.kernel.org \
/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®