From: Andrea Arcangeli <aarcange@redhat.com>
To: Christoph Lameter <cl@linux.com>
Cc: Andi Kleen <andi@firstfloor.org>,
akpm@linux-foundation.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, lwoodman@redhat.com,
Andi Kleen <ak@linux.intel.com>,
arcange@redhat.com
Subject: Re: [PATCH 3/8] Preserve local node for KSM copies
Date: Tue, 22 Feb 2011 17:20:11 +0100 [thread overview]
Message-ID: <20110222162011.GD13092@random.random> (raw)
In-Reply-To: <alpine.DEB.2.00.1102220945210.16060@router.home>
On Tue, Feb 22, 2011 at 09:47:26AM -0600, Christoph Lameter wrote:
> On Mon, 21 Feb 2011, Andi Kleen wrote:
>
> > Add a alloc_page_vma_node that allows passing the "local" node in.
> > Use it in ksm to allocate copy pages on the same node as
> > the original as possible.
>
> Why would that be useful? The shared page could be on a node that is not
> near the process that maps the page. Would it not be better to allocate on
> the node that is local to the process that maps the page?
This is what I was trying to understand. To me it looks like this is
making things worse. Following the "vma" advice like current code
does, sounds much better than following the previous page that may
have been allocated in the wrong node if the allocation from the right
node couldn't be satisfied at the time the page was first allocated
(we should still try to allocate from the right node following the vma
hint).
In the KSM case this badness is exacerbated by the fact a ksm page is
guarnteed to be randomly-numa allocated, because it's shared across
all processes regardless of their vma settings. KSM is not NUMA aware,
so following the location of the KSM "page" seems a regression
compared to the current code that at least follows the vma when
bringing up a page during swapin.
I've an hard time generally to see how following "page" (that is
especially wrong with KSM because of the very sharing effect) is
better than following "vma".
KSM may become NUMA aware if we replicate the stable tree in each
node, but we're not even close to that, so I've an hard time how
"page" hinting instead of "vma" hinting can do any good, especially in
KSM case. But I've to think more about this.. but if you've
suggestions you're welcome.
--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-02-22 16:20 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-21 19:07 Fix NUMA problems in transparent hugepages and KSM Andi Kleen
2011-02-21 19:07 ` [PATCH 1/8] Fix interleaving for transparent hugepages Andi Kleen
2011-02-22 15:34 ` Christoph Lameter
2011-02-22 16:29 ` Andrea Arcangeli
2011-02-22 17:11 ` Andi Kleen
2011-02-21 19:07 ` [PATCH 2/8] Change alloc_pages_vma to pass down the policy node for local policy Andi Kleen
2011-02-22 15:42 ` Christoph Lameter
2011-02-21 19:07 ` [PATCH 3/8] Preserve local node for KSM copies Andi Kleen
2011-02-22 15:47 ` Christoph Lameter
2011-02-22 16:20 ` Andrea Arcangeli [this message]
2011-02-22 17:15 ` Andi Kleen
2011-02-22 18:24 ` Andi Kleen
2011-02-21 19:07 ` [PATCH 4/8] Preserve original node for transparent huge page copies Andi Kleen
2011-02-21 19:07 ` [PATCH 5/8] Use correct numa policy node for transparent hugepages Andi Kleen
2011-02-21 19:07 ` [PATCH 6/8] Add __GFP_OTHER_NODE flag Andi Kleen
2011-02-22 21:42 ` David Rientjes
2011-02-22 21:47 ` Andi Kleen
2011-02-22 22:08 ` David Rientjes
2011-02-22 22:52 ` Andi Kleen
2011-02-21 19:07 ` [PATCH 7/8] Use GFP_OTHER_NODE for transparent huge pages Andi Kleen
2011-02-21 19:07 ` [PATCH 8/8] Add VM counters for transparent hugepages Andi Kleen
2011-02-22 16:36 ` Dave Hansen
2011-02-22 16:43 ` Andrea Arcangeli
2011-02-22 18:02 ` Andi Kleen
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=20110222162011.GD13092@random.random \
--to=aarcange@redhat.com \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=arcange@redhat.com \
--cc=cl@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lwoodman@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;
as well as URLs for NNTP newsgroup(s).