[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LNX.2.00.1302221250440.6100@eggly.anvils>
Date: Fri, 22 Feb 2013 13:03:51 -0800 (PST)
From: Hugh Dickins <hughd@...gle.com>
To: Ric Mason <ric.masonn@...il.com>
cc: Andrew Morton <akpm@...ux-foundation.org>,
Mel Gorman <mgorman@...e.de>,
Petr Holasek <pholasek@...hat.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Izik Eidus <izik.eidus@...ellosystems.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH 2/7] ksm: treat unstable nid like in stable tree
On Fri, 22 Feb 2013, Ric Mason wrote:
> On 02/21/2013 04:20 PM, Hugh Dickins wrote:
> > An inconsistency emerged in reviewing the NUMA node changes to KSM:
> > when meeting a page from the wrong NUMA node in a stable tree, we say
> > that it's okay for comparisons, but not as a leaf for merging; whereas
> > when meeting a page from the wrong NUMA node in an unstable tree, we
> > bail out immediately.
>
> IIUC
> - ksm page from the wrong NUMA node will be add to current node's stable tree
That should never happen (and when I was checking with a WARN_ON it did
not happen). What can happen is that a node already in a stable tree
has its page migrated away to another NUMA node.
> - normal page from the wrong NUMA node will be merged to current node's
> stable tree <- where I miss here? I didn't see any special handling in
> function stable_tree_search for this case.
nid = get_kpfn_nid(page_to_pfn(page));
root = root_stable_tree + nid;
to choose the right tree for the page, and
if (get_kpfn_nid(stable_node->kpfn) !=
NUMA(stable_node->nid)) {
put_page(tree_page);
goto replace;
}
to make sure that we don't latch on to a node whose page got migrated away.
> - normal page from the wrong NUMA node will compare but not as a leaf for
> merging after the patch
I don't understand you there, but hope my remarks above resolve it.
Hugh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists