From: Andrea Arcangeli <andrea@suse.de>
To: Rik van Riel <riel@conectiva.com.br>
Cc: "Martin J. Bligh" <fletch@aracnet.com>,
lse-tech@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: 23 second kernel compile (aka which patches help scalibility on NUMA)
Date: Mon, 11 Mar 2002 05:12:48 +0100 [thread overview]
Message-ID: <20020311051248.Q8949@dualathlon.random> (raw)
In-Reply-To: <20020311031425.N8949@dualathlon.random> <Pine.LNX.4.44L.0203102319440.2181-100000@imladris.surriel.com>
In-Reply-To: <Pine.LNX.4.44L.0203102319440.2181-100000@imladris.surriel.com>
On Sun, Mar 10, 2002 at 11:23:47PM -0300, Rik van Riel wrote:
> On Mon, 11 Mar 2002, Andrea Arcangeli wrote:
> > On Fri, Mar 08, 2002 at 09:47:04PM -0800, Martin J. Bligh wrote:
> > > Big locks left:
> > >
> > > pagemap_lru_lock
> > > 20.2% 57.1% 5.4us( 86us) 111us( 16ms)(14.7%) 1014988 42.9% 57.1% 0%
> >
> > I think this is only due the lru_cache_add executed by the anonymous
> > pagefaults. Pagecache should stay in the lru constantly if you're
> > running in hot pagecache as I guess. For a workload like this one
> > keeping anon pages out of the lru would be an obvious win.
>
> ... but only if you're really dealing with anonymous pages,
That's what the workload does, yes. The rest will stay in pagecache
persistent because there's enough ram. my comments only wanted to
explain _where_ the collisons happens and why we are adding anon pages
to the lru even before converting them to pagecache, I'm not saying we
need to change that part.
> > It's a tradeoff. Just like the additional memory/cpu and locking
> > overhead that rmap requires will slowdown page faults even more than
> > what you see now, with the only object to get a nicer pagout behaviour
> > (modulo the ram-binding "migration" stuff where rmap is mandatory to do
> > it instantly and not over time).
>
> Rmap will also make it possible to have the lru lock per
> zone (or per node), which should give rather nice behaviour
> for large SMP and NUMA systems ... even if the workload
> isn't made up of anonymous pages ;)
I don't see the relation with rmap, rmap only makes possible the
immediate migration with strong numa memory bindings and it decreases
the complexity of the pageout load, but it has nothing to do with the
lru lock per-node, that's an orthogonal problem.
> Btw, what is the "ram binding migration stuff" you are
> talking about and why would rmap not be able to do it in
> a nice way ?
Actually I was trying to say you _need_ rmap to do the ram binding
migration stuff on numa :), not the other way around. Without full rmap
we can only trivially provide weak bindings, but not strong-migration
bindings. Since we just have the rmap information for all the file
mappings, only anonymous memory and shm isn't covered by the rmap
information in 2.[45] mainline, so we could as well break the COW while
migrating the pages instead of collecting the rmap stuff for anon pages
too, and shm could be associated with an internal file).
But I think the main point is how much more efficient it is the direct
chain to the pte rather than having to walk the pgd/pmd every time (even
if it would be an O(1) operation too for every mapping in the list).
Andrea
next prev parent reply other threads:[~2002-03-11 4:12 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-09 5:47 23 second kernel compile (aka which patches help scalibility on NUMA) Martin J. Bligh
2002-03-09 16:43 ` Erik Andersen
2002-03-09 17:53 ` Martin J. Bligh
2002-03-09 18:37 ` Fabio Massimo Di Nitto
2002-03-11 18:23 ` Timothy D. Witham
2002-03-11 2:14 ` Andrea Arcangeli
2002-03-11 2:23 ` Rik van Riel
2002-03-11 4:12 ` Andrea Arcangeli [this message]
2002-03-11 10:45 ` Denis Vlasenko
-- strict thread matches above, loose matches on Subject: below --
2002-03-09 19:44 Dieter Nützel
2002-03-09 20:19 ` Martin J. Bligh
2002-03-09 21:07 ` Andrea Arcangeli
2002-03-10 9:26 ` Samuel Ortiz
2002-03-10 17:13 ` Martin J. Bligh
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=20020311051248.Q8949@dualathlon.random \
--to=andrea@suse.de \
--cc=fletch@aracnet.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=riel@conectiva.com.br \
/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