From: Christoph Lameter <clameter@sgi.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Avoid allocating during interleave from almost full nodes
Date: Fri, 3 Nov 2006 14:10:01 -0800 (PST) [thread overview]
Message-ID: <Pine.LNX.4.64.0611031353570.16486@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20061103134633.a815c7b3.akpm@osdl.org>
On Fri, 3 Nov 2006, Andrew Morton wrote:
> > The exact node we choose during interleave does not matter much if we are
> > under memory pressure since the allocations will be redirected anyways
> > after we have overallocated a single node.
>
> Am not clear on what that means.
If we currently overallocate a node then we fall back to other nodes along
the zonelist. We will not be able to allocate on the intended node and
the next interleave node becomes the nearest node with enough memory.
> > This patch checks for the amount of free pages on a node. If it is lower
> > than a predefined limit (in /proc/sys/kernel/min_interleave_ratio) then
>
> You mean /proc/sys/vm
Right.
> > we avoid allocating from that node. We keep a bitmap of full nodes
> > that is cleared every 2 seconds when draining the pagesets for
> > node 0.
>
> Wall time is a bogus concept in the VM. Can we please stop relying upon it?
We use the same 2 second pulse to drain slab caches, and the page
allocators per cpu caches. The slab draining has been around forever. Its
relying on jiffies and not on wall time.
> > not matter though since we always can fall back to operating without
> > full_interleave_nodes. As a result of the racyness we may uselessly
> > skip a node or retest a node.
>
> This design relies upon nodes having certain amounts of free memory. This
> concept is bogus. Because it treats clean pagecache which hasn't been used
> since last Saturday as "in use". It is not in use.
It relies on free pages, not on in use pages. The attempt is to bypass
expensive reclaim as long as we can find free memory on other nodes.
next prev parent reply other threads:[~2006-11-03 22:10 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-03 20:58 Christoph Lameter
2006-11-03 21:46 ` Andrew Morton
2006-11-03 22:10 ` Christoph Lameter [this message]
2006-11-03 22:31 ` Andrew Morton
2006-11-04 0:28 ` Christoph Lameter
2006-11-04 0:58 ` Andrew Morton
2006-11-06 16:53 ` Christoph Lameter
2006-11-06 19:59 ` Andrew Morton
2006-11-06 20:12 ` Christoph Lameter
2006-11-06 20:24 ` Andrew Morton
2006-11-06 20:31 ` Christoph Lameter
2006-11-06 20:42 ` Andrew Morton
2006-11-06 20:58 ` Christoph Lameter
2006-11-06 21:20 ` Andrew Morton
2006-11-06 21:42 ` Christoph Lameter
2006-11-04 1:26 ` Paul Jackson
2006-11-04 1:42 ` Andrew Morton
2006-11-04 10:51 ` Paul Jackson
2006-11-06 16:56 ` Christoph Lameter
2006-11-08 10:21 ` Paul Jackson
2006-11-08 15:18 ` Peter Zijlstra
2006-11-08 17:06 ` Paul Jackson
2006-11-08 17:09 ` Peter Zijlstra
2006-11-08 17:21 ` Paul Jackson
2006-11-08 17:40 ` Christoph Lameter
2006-12-01 7:51 ` Paul Jackson
2006-12-01 7:59 ` Andrew Morton
2006-12-01 16:27 ` Christoph Lameter
2006-11-04 10:35 ` CTL_UNNUMBERED and killing sys_sysctl Eric W. Biederman
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=Pine.LNX.4.64.0611031353570.16486@schroedinger.engr.sgi.com \
--to=clameter@sgi.com \
--cc=akpm@osdl.org \
--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®