From: "Ray Bryant" <raybry@mpdtxmail.amd.com>
To: Andi Kleen <ak@suse.de>
Cc: Martin Hicks <mort@sgi.com>, Ingo Molnar <mingo@elte.hu>,
Linux MM <linux-mm@kvack.org>, Andrew Morton <akpm@osdl.org>,
torvalds@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] VM: add vm.free_node_memory sysctl
Date: Wed, 3 Aug 2005 14:59:22 -0500 [thread overview]
Message-ID: <200508031459.22834.raybry@mpdtxmail.amd.com> (raw)
In-Reply-To: <20050803143855.GA10895@wotan.suse.de>
On Wednesday 03 August 2005 09:38, Andi Kleen wrote:
> On Wed, Aug 03, 2005 at 10:24:40AM -0400, Martin Hicks wrote:
> > On Wed, Aug 03, 2005 at 04:15:29PM +0200, Andi Kleen wrote:
> > > On Wed, Aug 03, 2005 at 09:56:46AM -0400, Martin Hicks wrote:
> > > > Here's the promised sysctl to dump a node's pagecache. Please
> > > > review!
> > > >
> > > > This patch depends on the zone reclaim atomic ops cleanup:
> > > > http://marc.theaimsgroup.com/?l=linux-mm&m=112307646306476&w=2
> > >
> > > Doesn't numactl --bind=node memhog nodesize-someslack do the same?
> > >
> > > It just might kick in the oom killer if someslack is too small
> > > or someone has unfreeable data there. But then there should be
> > > already an sysctl to turn that one off.
> >
Hmmm.... What happens if there are already mapped pages (e. g. mapped in the
sense that pages are mapped into an address space) on the node and you want
to allocate some more, but can't because the node is full of clean page cache
pages? Then one would have to set the memhog argument to the right thing to
keep the existing mapped memory from being swapped out, right? Is the data
to set that argument readily available to user space? Martin's patch has the
advantage of targeting just the clean page cache pages.
The way I see this, the problem is that clean page cache pages >>should<< be
easily available to be used to satisfy a request for mapped pages. This
works correctly in non-NUMA Linux systems. But in NUMA Linux systems, we
keep tripping over this problem all the time, particularly in the HPC space,
and patches like Martin's come about as an attempt to solve this in the VMM.
(We trip over this in the sense that we end up allocating off node storage
because the current node is full of page cache pages.)
The best answer we have at the present time is to run a memory hog program
that forces the clean page cache pages to be reclaimed by putting the node in
question under memory pressure, but this seems like an indirect way to solve
the problem at hand which is, really, to quickly release those page cache
pages and make them available for user programs to allocate. So the most
direct way to fix this is to fix it in the VMM rather than depending on a
memory hog based work-around of some kind. Perhaps we haven't gotten the
right set of patches together to do this, but my take is that is where the
fix belongs.
And, just for the record ( :-) ), this is not just an Altix problem.
Opterons are NUMA systems too, and we encounter exactly this same problem in
the HPC space on 4-node systems.
--
Ray Bryant
AMD Performance Labs Austin, Tx
512-602-0038 (o) 512-507-7807 (c)
--
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-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2005-08-03 19:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20050801113913.GA7000@elte.hu>
[not found] ` <20050801102903.378da54f.akpm@osdl.org>
[not found] ` <20050801195426.GA17548@elte.hu>
[not found] ` <20050802171050.GG26803@localhost>
[not found] ` <20050802210746.GA26494@elte.hu>
2005-08-03 13:56 ` Martin Hicks
2005-08-03 14:15 ` Andi Kleen
2005-08-03 14:24 ` Martin Hicks
2005-08-03 14:38 ` Andi Kleen
2005-08-03 14:56 ` Martin Hicks
2005-08-03 19:59 ` Ray Bryant [this message]
2005-08-03 20:08 ` Andi Kleen
2005-08-05 17:45 ` Ray Bryant
2005-08-05 21:48 ` Andi Kleen
2005-08-15 16:05 ` Martin Hicks
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=200508031459.22834.raybry@mpdtxmail.amd.com \
--to=raybry@mpdtxmail.amd.com \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@elte.hu \
--cc=mort@sgi.com \
--cc=torvalds@osdl.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