From: Hugh Dickins <hughd@google.com>
To: Ric Mason <ric.masonn@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Petr Holasek <pholasek@redhat.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Izik Eidus <izik.eidus@ravellosystems.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH 2/7] ksm: treat unstable nid like in stable tree
Date: Fri, 1 Mar 2013 12:03:53 -0800 (PST) [thread overview]
Message-ID: <alpine.LNX.2.00.1303011139270.7398@eggly.anvils> (raw)
In-Reply-To: <51303CAB.3080406@gmail.com>
On Fri, 1 Mar 2013, Ric Mason wrote:
>
> I think the ksm implementation for num awareness is buggy.
Sorry, I just don't understand your comments below,
but will try to answer or question them as best I can.
>
> For page migratyion stuff, new page is allocated from node *which page is
> migrated to*.
Yes, by definition.
> - when meeting a page from the wrong NUMA node in an unstable tree
> get_kpfn_nid(page_to_pfn(page)) *==* page_to_nid(tree_page)
I thought you were writing of the wrong NUMA node case,
but now you emphasize "*==*", which means the right NUMA node.
> How can say it's okay for comparisons, but not as a leaf for merging?
Pages in the unstable tree are unstable (and it's not even accurate to
say "pages in the unstable tree"), they and their content can change at
any moment, so I cannot assert anything of them for sure.
But if we suppose, as an approximation, that they are somewhat likely
to remain stable (and the unstable tree would be useless without that
assumption: it tends to work out), but subject to migration, then it makes
sense to compare content, no matter what NUMA node it is on, in order to
locate a page of the same content; but wrong to merge with that page if
it's on the wrong NUMA node, if !merge_across_nodes tells us not to.
> - when meeting a page from the wrong NUMA node in an stable tree
> - meeting a normal page
What does that line mean, and where does it fit in your argument?
> - meeting a page which is ksm page before migration
> get_kpfn_nid(stable_node->kpfn) != NUMA(stable_node->nid) can't capture
> them since stable_node is for tree page in current stable tree. They are
> always equal.
When we meet a ksm page in the stable tree before it's migrated to another
NUMA node, yes, it will be on the right NUMA node (because we were careful
only to merge pages from the right NUMA node there), and that test will not
capture them. It's for capturng a ksm page in the stable tree after it has
been migrated to another NUMA node.
Hugh
--
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:[~2013-03-01 20:04 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-21 8:17 [PATCH 0/7] ksm: responses to NUMA review Hugh Dickins
2013-02-21 8:19 ` [PATCH 1/7] ksm: add some comments Hugh Dickins
2013-02-22 4:26 ` Ric Mason
2013-02-22 20:50 ` Hugh Dickins
2013-02-21 8:20 ` [PATCH 2/7] ksm: treat unstable nid like in stable tree Hugh Dickins
2013-02-22 7:13 ` Ric Mason
2013-02-22 21:03 ` Hugh Dickins
2013-03-01 5:29 ` Ric Mason
2013-03-01 20:03 ` Hugh Dickins [this message]
2013-03-02 1:10 ` Ric Mason
2013-03-02 2:57 ` Hugh Dickins
2013-03-06 1:28 ` Will Huck
2013-03-06 4:31 ` Hugh Dickins
2013-03-06 2:37 ` Ric Mason
2013-03-06 5:05 ` Hugh Dickins
2013-03-06 6:58 ` Ric Mason
2013-03-06 10:18 ` Ric Mason
2013-03-07 23:26 ` Ric Mason
2013-02-21 8:22 ` [PATCH 3/7] ksm: shrink 32-bit rmap_item back to 32 bytes Hugh Dickins
2013-02-21 8:23 ` [PATCH 4/7] mm,ksm: FOLL_MIGRATION do migration_entry_wait Hugh Dickins
2013-02-21 8:25 ` [PATCH 5/7] mm,ksm: swapoff might need to copy Hugh Dickins
2013-02-21 14:53 ` Johannes Weiner
2013-02-22 17:16 ` Hugh Dickins
2013-02-21 8:27 ` [PATCH 6/7] mm: cleanup "swapcache" in do_swap_page Hugh Dickins
2013-02-21 8:29 ` [PATCH 7/7] ksm: allocate roots when needed Hugh Dickins
2013-02-22 3:44 ` [PATCH 0/7] ksm: responses to NUMA review Ric Mason
2013-02-22 20:38 ` Hugh Dickins
2013-02-24 1:39 ` Ric Mason
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=alpine.LNX.2.00.1303011139270.7398@eggly.anvils \
--to=hughd@google.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=izik.eidus@ravellosystems.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=pholasek@redhat.com \
--cc=ric.masonn@gmail.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