From: Andrea Arcangeli <andrea@suse.de>
To: "Martin J. Bligh" <Martin.Bligh@us.ibm.com>
Cc: Rik van Riel <riel@conectiva.com.br>,
Daniel Phillips <phillips@bonn-fries.net>,
Bill Davidsen <davidsen@tmr.com>,
Mike Fedyk <mfedyk@matchmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: 2.4.19pre1aa1
Date: Mon, 4 Mar 2002 23:25:44 +0100 [thread overview]
Message-ID: <20020304232544.P20606@dualathlon.random> (raw)
In-Reply-To: <Pine.LNX.4.44L.0203041116120.2181-100000@imladris.surriel.com> <190330000.1015261149@flay> <20020304191942.M20606@dualathlon.random> <204440000.1015268171@flay>
In-Reply-To: <204440000.1015268171@flay>
On Mon, Mar 04, 2002 at 10:56:11AM -0800, Martin J. Bligh wrote:
> >> 1) We can balance between zones easier by "swapping out"
> >> pages to another zone.
> >
> > Yes, operations like "now migrate and bind this task to a certain
> > cpu/mem pair" pretty much needs rmap or it will get the same complexity
> > of swapout, that may be very very slow with lots of vm address space
> > mapped. But this has nothing to do with the swap_out pass we were
> > talking about previously.
>
> If we're out of memory on one node, and have free memory on another,
> during the swap-out pass it would be quicker to transfer the page to
> another node, ie "swap out the page to another zone" rather than swap
> it out to disk. This is what I mean by the above comment (though you're
I think unless we're sure we need to split the system in parts and so
there's some explicit cpu binding (like in the example I made above), it
doesn't worth to do migrations just because one zone is low on memory,
the migration has a cost and without bindings the scheduler is free to
reschedule the task away in the next timeslice anyways, and then it's
better to keep it there for cpu cache locality reasons. So I believe
it's better to make sure to use all available ram in all nodes instead
of doing migrations when the local node is low on mem. But this again
depends on the kind of numa system, I'm considering the new numas, not
the old ones with the huge penality on the remote memory.
> right, it helps with the more esoteric case of deliberate page migration too),
> though I probably phrased it badly enough to make it incomprehensible ;-)
>
> I guess could this help with non-NUMA architectures too - if ZONE_NORMAL
> is full, and ZONE_HIGHMEM has free pages, it would be nice to be able
> to scan ZONE_NORMAL, and transfer pages to ZONE_HIGHMEM. In
> reality, I suspect this won't be so useful, as there shouldn't be HIGHEM
> capable page data sitting in ZONE_NORMAL unless ZONE_HIGHMEM
> had been full at some point in the past? And I'm not sure if we keep a bit
Exactly, this is what the per-zone point-of-view watermarks just do in
my tree, and this is why even if we're not able to migrate all the
highmem capable pages from lowmem to highmem (like anon memory when
there's no swap, or mlocked memory) we still don't run into inbalances.
btw, to migrate anon memory without swap, we wouldn't really be forced
to use rmap, we could just use anonymous swapcache and then we could
migrate the swapcache atomically with the pagecache_lock acquired, just
like we would do with rmap. but I think the main problem of migration is
"when" should we trigger it. Currently we don't need to answer this
question and the watermarks make sure we've enough lowmem resources not
to madantory need migration. When I did the watermarks fix, I also
consdiered the migration through anon swap cache, but it wasn't black
and white thing, the watermarks are better solution for 2.4 at least I
think :).
> to say where the page could have been allocated from or not ?
>
> M.
>
> PS. The rest of your email re: striping twisted my brain out of shape - I'll
> have to think about it some more.
Andrea
next prev parent reply other threads:[~2002-03-04 22:27 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-27 12:50 2.4.19pre1aa1 Andrea Arcangeli
2002-02-28 22:11 ` 2.4.19pre1aa1 Bill Davidsen
2002-03-01 1:30 ` 2.4.19pre1aa1 Mike Fedyk
2002-03-01 3:26 ` 2.4.19pre1aa1 Bill Davidsen
2002-03-01 3:46 ` 2.4.19pre1aa1 Mike Fedyk
2002-03-01 12:51 ` 2.4.19pre1aa1 Rik van Riel
2002-03-01 18:37 ` 2.4.19pre1aa1 Mike Fedyk
2002-03-01 10:17 ` 2.4.19pre1aa1 Marco Colombo
2002-03-01 11:37 ` 2.4.19pre1aa1 Alan Cox
2002-03-02 2:06 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-02 2:28 ` 2.4.19pre1aa1 Alan Cox
2002-03-02 3:30 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-03 21:38 ` 2.4.19pre1aa1 Daniel Phillips
2002-03-04 0:49 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 1:46 ` 2.4.19pre1aa1 Daniel Phillips
2002-03-04 2:25 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 3:22 ` 2.4.19pre1aa1 Daniel Phillips
2002-03-04 12:41 ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 14:05 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 14:23 ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 16:10 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 16:28 ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 16:59 ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-04 18:18 ` 2.4.19pre1aa1 Stephan von Krawczynski
2002-03-04 18:41 ` 2.4.19pre1aa1 Stephan von Krawczynski
2002-03-04 18:46 ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-04 22:06 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 23:03 ` 2.4.19pre1aa1 Samuel Ortiz
2002-03-05 11:23 ` 2.4.19pre1aa1 Stephan von Krawczynski
2002-03-05 17:35 ` 2.4.19pre1aa1 Samuel Ortiz
2002-03-05 0:12 ` 2.4.19pre1aa1 Rik van Riel
2002-03-05 6:21 ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-04 21:37 ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 18:19 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 18:56 ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-04 22:25 ` Andrea Arcangeli [this message]
2002-03-04 23:09 ` 2.4.19pre1aa1 Gerrit Huizenga
2002-03-05 0:19 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 2:00 ` 2.4.19pre1aa1 Gerrit Huizenga
2002-03-04 22:38 ` 2.4.19pre1aa1 Daniel Phillips
2002-03-04 21:36 ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 23:01 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-04 23:11 ` 2.4.19pre1aa1 Rik van Riel
2002-03-04 23:52 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 0:01 ` 2.4.19pre1aa1 Rik van Riel
2002-03-05 1:05 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 1:26 ` 2.4.19pre1aa1 Rik van Riel
2002-03-05 1:40 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 1:55 ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-05 5:16 ` 2.4.19pre1aa1 Samuel Ortiz
2002-03-05 5:47 ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-05 6:33 ` 2.4.19pre1aa1 Samuel Ortiz
2002-03-05 12:22 ` 2.4.19pre1aa1 Rik van Riel
2002-03-05 15:01 ` 2.4.19pre1aa1 Andrea Arcangeli
[not found] ` <Pine.LNX.4.44L.0203050921510.1413-100000@duckman.distro.conecti va>
2002-03-05 15:29 ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-05 15:43 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 3:05 ` 2.4.19pre1aa1 Bill Davidsen
2002-03-05 8:35 ` 2.4.19pre1aa1 arjan
2002-03-05 12:41 ` 2.4.19pre1aa1 Rik van Riel
2002-03-05 15:10 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 16:57 ` 2.4.19pre1aa1 Rik van Riel
2002-03-05 18:26 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 18:30 ` 2.4.19pre1aa1 Arjan van de Ven
2002-03-05 19:12 ` 2.4.19pre1aa1 Andrew Morton
2002-03-05 23:03 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 23:05 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 23:24 ` 2.4.19pre1aa1 Andrew Morton
2002-03-05 23:37 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 23:51 ` 2.4.19pre1aa1 Andrew Morton
2002-03-06 0:09 ` 2.4.19pre1aa1 Daniel Phillips
2002-03-05 14:55 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-05 5:38 ` 2.4.19pre1aa1 Martin J. Bligh
2002-03-05 6:45 ` 2.4.19pre1aa1 David Lang
[not found] ` <200203021958.g22JwKq08818@Port.imtp.ilyichevsk.odessa.ua>
2002-03-02 20:47 ` 2.4.19pre1aa1 Andrea Arcangeli
2002-03-02 20:58 ` 2.4.19pre1aa1 Robert Love
2002-03-05 22:16 ` 2.4.19pre1aa1 Bill Davidsen
-- strict thread matches above, loose matches on Subject: below --
2002-02-28 2:57 2.4.19pre1aa1 rwhron
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=20020304232544.P20606@dualathlon.random \
--to=andrea@suse.de \
--cc=Martin.Bligh@us.ibm.com \
--cc=davidsen@tmr.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mfedyk@matchmail.com \
--cc=phillips@bonn-fries.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