From: Andrea Arcangeli <andrea@novell.com>
To: Andrew Morton <akpm@osdl.org>
Cc: nickpiggin@yahoo.com.au, riel@redhat.com, linux-kernel@vger.kernel.org
Subject: Re: lowmem_reserve (replaces protection)
Date: Wed, 27 Oct 2004 08:11:56 +0200 [thread overview]
Message-ID: <20041027061156.GX14325@dualathlon.random> (raw)
In-Reply-To: <20041026223335.6a1dad18.akpm@osdl.org>
On Tue, Oct 26, 2004 at 10:33:35PM -0700, Andrew Morton wrote:
> Andrea Arcangeli <andrea@novell.com> wrote:
> >
> > So after allocating the highmem pages we invoke kswapd
> > again
>
> Nope. We don't wake kswapd until the lower zones are below pages_low as
> well. Then we rebalance all the zones which are below pages_high.
the lower zones will always be below pages_low+lowmem_reserve forever
since the reservation is 800M of ram.
The allocator isn't using pages_low, the allocator is always using
pages_low+lowmem_reserve. This is why only highmem will be allocated and
then immediatly kswapd will be invoked again.
the lower zones are above pages_high all the time, but they're also
below pages_low+lowmem_reserve all the time.
I'm not talking about 2.6.9 with protection disabled, I'm talking about
2.6.9+lowmem_reserve enabled.
So there will definitely be a rolling on the highmem, but it's probably
ok see below:
> As I say: run a workload mix and monitor /proc/vmstat:
>
> pgscan_kswapd_high
> pgscan_kswapd_normal
> pgscan_kswapd_dma
>
> These should be increasing at rates which are proportional to their size,
> if most allocations have __GFP_HIGHMEM.
they should yes. And this is also why it shouldn't be a problem this
behaviour of kswapd despite the rolling (after all we're shrinking cache
from the lower zones too, except the highmem cache will be rolled).
I'll try to measure the above soon (and I already applied it to all
relevant trees so it'll get some beating, since the aging details are
somewhat less severe than potential deadlocks or oom kills with lots of
ram and ptes, espcially now without the incremental min we have to
enable it).
prev parent reply other threads:[~2004-10-27 6:16 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-25 17:01 lowmem_reserve (replaces protection) Andrea Arcangeli
2004-10-26 1:48 ` Rik van Riel
2004-10-26 1:58 ` Andrea Arcangeli
2004-10-26 3:48 ` Nick Piggin
2004-10-26 4:04 ` Andrea Arcangeli
2004-10-26 4:17 ` Nick Piggin
2004-10-27 0:25 ` Andrea Arcangeli
2004-10-27 0:42 ` Andrew Morton
2004-10-27 0:48 ` Andrea Arcangeli
2004-10-27 2:06 ` Nick Piggin
2004-10-28 0:26 ` Andrea Arcangeli
2004-10-27 0:31 ` Rik van Riel
2004-10-27 0:54 ` Andrea Arcangeli
2004-10-27 0:56 ` Andrea Arcangeli
2004-10-27 1:35 ` Andrea Arcangeli
2004-10-27 2:08 ` Andrew Morton
2004-10-27 2:31 ` Andrea Arcangeli
2004-10-27 2:56 ` Nick Piggin
2004-10-27 1:00 ` Rik van Riel
2004-10-27 1:10 ` Andrea Arcangeli
2004-10-27 2:05 ` Nick Piggin
2004-10-27 2:29 ` Andrea Arcangeli
2004-10-27 3:01 ` Nick Piggin
2004-10-27 3:23 ` Andrea Arcangeli
2004-10-27 3:34 ` Nick Piggin
2004-10-27 3:43 ` Andrew Morton
2004-10-27 4:44 ` Andrea Arcangeli
2004-10-27 4:51 ` Rik van Riel
2004-10-27 5:05 ` Andrea Arcangeli
2004-10-27 5:50 ` Nick Piggin
2004-10-27 5:33 ` Andrew Morton
2004-10-27 6:11 ` Andrea Arcangeli [this message]
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=20041027061156.GX14325@dualathlon.random \
--to=andrea@novell.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--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