[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1308952859.25830.8.camel@pi>
Date: Sat, 25 Jun 2011 00:00:58 +0200
From: Ian Kumlien <pomac@...or.com>
To: linux-kernel@...r.kernel.org
Subject: [BUG?] numa required on x86_64?
Hi all,
Just found this when wanting to play with development kernels again.
Since there is no -gitXX snapshots anymore, I cloned the git =)...
But, it failed to build properly with my config:
mm/page_cgroup.c line 308: node_start_pfn and node_end_pfn is only
defined under NUMA on x86_64.
The commit that changed the use of this was introduced recently while
the mmzone_64.h hasn't been changed since april.
commit 37573e8c718277103f61f03741bdc5606d31b07e
Author: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Date: Wed Jun 15 15:08:42 2011 -0700
memcg: fix init_page_cgroup nid with sparsemem
Commit 21a3c9646873 ("memcg: allocate memory cgroup structures in local
nodes") makes page_cgroup allocation as NUMA aware. But that caused a
problem https://bugzilla.kernel.org/show_bug.cgi?id=36192.
The problem was getting a NID from invalid struct pages, which was not
initialized because it was out-of-node, out of [node_start_pfn,
node_end_pfn)
Now, with sparsemem, page_cgroup_init scans pfn from 0 to max_pfn. But
this may scan a pfn which is not on any node and can access memmap which
is not initialized.
This makes page_cgroup_init() for SPARSEMEM node aware and remove a code
to get nid from page->flags. (Then, we'll use valid NID always.)
[akpm@...ux-foundation.org: try to fix up comments]
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@...ux-foundation.org>
--
Ian Kumlien -- http://demius.net || http://pomac.netswarm.net
Download attachment "signature.asc" of type "application/pgp-signature" (199 bytes)
Powered by blists - more mailing lists