From: Christoph Lameter <clameter@engr.sgi.com>
To: Andi Kleen <ak@suse.de>
Cc: Paul Jackson <pj@sgi.com>,
kenneth.w.chen@intel.com, linux-mm@kvack.org,
linux-ia64@vger.kernel.org
Subject: Re: [NUMA] Display and modify the memory policy of a process through /proc/<pid>/numa_policy
Date: Fri, 15 Jul 2005 15:30:40 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.62.0507151518580.12160@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20050715220753.GK15783@wotan.suse.de>
On Sat, 16 Jul 2005, Andi Kleen wrote:
> > > I don't believe any admin will mess with virtual addresses.
> >
> > No but they will mess with vma's which are only identifiable by the
> > starting virtual address.
>
> What for?
For page migration.
> > Look at the existing patches and you see a huge complexity and heuristics
> > because the kernel guesses which vma's to migrate. If the vma are
> They kernel doesn't guess, it knows exactly.
Maybe you need to reread the discussion on page migration that ended up
with filesystem modifications?
> > > Now I can see some people being interested in more fine grained
> > > policy, but the only sane way to do that is to change the source
> > > code and use libnuma.
> >
> > Can libnuma change the memory policy and move pages of existing processes?
>
> If someone hooks it into mbind() sure. But most likely
> such changes would be handled by migrate_pages()
I cannot imagine that migrate pages make it into the kernel in its
current form. It combines multiple functionalities that need to be
separate (it does update the memory policy, clears the page cache, deals
with memory policy translations and then does heuristics to guess which
vma's to transfer) and then provides a complex function moving of pages
between groups of nodes.
Therefore:
1. Updating the memory policy is something that can be useful in other
settings as well so it need to be separate. The patch we are discussing
does exactly that. The batch scheduler or the sysadmin can invoke this
functionality before migrating pages if necessary.
2. Clearing the page cache is some work pursued by someone else. The batch
scheduler or the sysadmin can invoke this function if necessary before
migrating pages.
3. Memory policy translations better be done in user space. The batch
scheduler /sysadmin knows which node has what pages so it can easily
develop page movement scheme that is optimal for the process.
4. Moving pages should be a simple function like
migrate_pages(vma, from-node, nr-pages, to-node)
The batch scheduler / sysadmin can invoke this function multiple times
to move groups of nodes or only move parts of memory from a node (which
was not really supported by Ray's migrate pages instead another
heuristics guessed how much to move and there was no option of
partial moves).
--
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:"aart@kvack.org"> aart@kvack.org </a>
next prev parent reply other threads:[~2005-07-15 22:30 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-15 1:39 Christoph Lameter
2005-07-15 3:50 ` Paul Jackson
2005-07-15 4:52 ` Chen, Kenneth W
2005-07-15 5:07 ` Christoph Lameter
2005-07-15 5:55 ` Chen, Kenneth W
2005-07-15 6:05 ` Paul Jackson
2005-07-15 11:46 ` Andi Kleen
2005-07-15 16:06 ` Christoph Lameter
2005-07-15 21:04 ` Paul Jackson
2005-07-15 21:12 ` Andi Kleen
2005-07-15 21:20 ` Christoph Lameter
2005-07-15 21:47 ` Andi Kleen
2005-07-15 21:55 ` Christoph Lameter
2005-07-15 22:07 ` Andi Kleen
2005-07-15 22:30 ` Christoph Lameter [this message]
2005-07-15 22:37 ` Andi Kleen
2005-07-15 22:49 ` Christoph Lameter
2005-07-15 22:56 ` Andi Kleen
2005-07-15 23:11 ` Christoph Lameter
2005-07-15 23:44 ` Andi Kleen
2005-07-15 23:56 ` Christoph Lameter
2005-07-16 2:01 ` Andi Kleen
2005-07-16 15:14 ` Christoph Lameter
2005-07-16 22:39 ` Paul Jackson
2005-07-16 23:30 ` Paul Jackson
2005-07-17 1:55 ` Christoph Lameter
2005-07-17 3:50 ` Paul Jackson
2005-07-17 5:56 ` Christoph Lameter
2005-07-17 7:22 ` Paul Jackson
2005-07-17 3:21 ` Christoph Lameter
2005-07-17 4:51 ` Paul Jackson
2005-07-17 6:00 ` Christoph Lameter
2005-07-17 8:17 ` Paul Jackson
2005-07-16 0:00 ` David Singleton
2005-07-16 0:16 ` Steve Neuner
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.62.0507151518580.12160@schroedinger.engr.sgi.com \
--to=clameter@engr.sgi.com \
--cc=ak@suse.de \
--cc=kenneth.w.chen@intel.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pj@sgi.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