From: "Stephen C. Tweedie" <sct@redhat.com>
To: riel@nl.linux.org
Cc: Andrea Arcangeli <andrea@suse.de>,
Linus Torvalds <torvalds@transmeta.com>,
linux-mm@kvack.org
Subject: Re: 2.3.x mem balancing
Date: Wed, 26 Apr 2000 12:24:48 +0100 [thread overview]
Message-ID: <20000426122448.G3792@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.21.0004252240280.14340-100000@duckman.conectiva>; from riel@conectiva.com.br on Tue, Apr 25, 2000 at 11:10:56PM -0300
Hi,
On Tue, Apr 25, 2000 at 11:10:56PM -0300, Rik van Riel wrote:
> > As second using 5% and 1% of critical watermarks won't give you a 6%
> > watermark for the ZONE_NORMAL _class_zone but it will give you a 1%
> > watermark instead and you probably wanted a 6% watermark to provide
> > rasonable space for atomic allocations and for having more chances of
> > doing high order allocations.
>
> So the 1% watermark for ZONE_NORMAL is too low ... fix that.
We just shouldn't need to keep much memory free.
I'd much rather see a scheme in which we have two separate goals for
the VM. Goal one would be to keep a certain number of free pages in
each class, for use by atomic allocations. Goal two would be to have
a minimum number of pages in each class either free or on a global LRU
list which contains only pages known to be clean and unmapped (and
hence available for instant freeing without IO).
That gives us many advantages:
* We can split kswapd into two tasks: a kswapd task for swapping, and a
kreclaimd for freeing pages on the clean LRU. Even while we are
swapping, kreclaimd can kick in to keep atomic allocations happy.
* We can still keep the free page lists topped up on a per-zone (or
per-class) basis, but have a global LRU of clean pages by which to
balance the reclamation of memory between zones if we want it
* There will be a bigger pool of pages available for reuse at short
notice, without us having to actually throw away potentially
useful data until the time that the memory is actually needed.
Cleaning dirty pages for reuse, and actually freeing those pages, are
already two distinct concepts in our VM. We ought to make that
explicit in the free pages LRUs.
--Stephen
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
next prev parent reply other threads:[~2000-04-26 11:24 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.21.0004250401520.4898-100000@alpha.random>
2000-04-25 16:57 ` Linus Torvalds
2000-04-25 17:50 ` Rik van Riel
2000-04-25 18:11 ` Jeff Garzik
2000-04-25 18:33 ` Rik van Riel
2000-04-25 18:53 ` Linus Torvalds
2000-04-25 19:27 ` Rik van Riel
2000-04-26 0:26 ` Linus Torvalds
2000-04-26 1:19 ` Rik van Riel
2000-04-26 1:07 ` Andrea Arcangeli
2000-04-26 2:10 ` Rik van Riel
2000-04-26 11:24 ` Stephen C. Tweedie [this message]
2000-04-26 16:44 ` Linus Torvalds
2000-04-26 17:13 ` Rik van Riel
2000-04-26 17:24 ` Linus Torvalds
2000-04-27 13:22 ` Stephen C. Tweedie
2000-04-26 14:19 ` Andrea Arcangeli
2000-04-26 16:52 ` Linus Torvalds
2000-04-26 17:49 ` Andrea Arcangeli
2000-04-26 16:03 Mark_H_Johnson.RTS
2000-04-26 17:06 ` Andrea Arcangeli
2000-04-26 17:36 ` Kanoj Sarcar
2000-04-26 21:58 ` Andrea Arcangeli
2000-04-26 17:43 ` Kanoj Sarcar
2000-04-26 19:06 frankeh
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=20000426122448.G3792@redhat.com \
--to=sct@redhat.com \
--cc=andrea@suse.de \
--cc=linux-mm@kvack.org \
--cc=riel@nl.linux.org \
--cc=torvalds@transmeta.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