Messages in this thread | | | Date | Mon, 16 Feb 2009 09:50:42 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH 1/2] clean up for early_pfn_to_nid |
| |
On Fri, 13 Feb 2009 22:12:26 -0800 (PST) David Miller <davem@davemloft.net> wrote:
> From: Andrew Morton <akpm@linux-foundation.org> > Date: Fri, 13 Feb 2009 14:20:32 -0800 > > > I queued these as > > > > mm-clean-up-for-early_pfn_to_nid.patch > > mm-fix-memmap-init-for-handling-memory-hole.patch > > > > and tagged them as needed-in-2.6.28.x. I don't recall whether they are > > needed in earlier -stable releases? > > Every kernel going back to at least 2.6.24 has this bug. It's likely > been around even longer, I didn't bother checking. >
Sparc64's one is broken from this commit.
09337f501ebdd224cd69df6d168a5c4fe75d86fa sparc64: Kill CONFIG_SPARC32_COMPAT
CONFIG_NODES_SPAN_OTEHR_NODES is set and config allows following kind of NUMA This is requirements from powerpc.
low address ---<- max order ->---- high address [Node0][Node1][Node0] So, nid is checked at memmap init.
But it included this bug in following case. low address ---<- max order ->---- high address [Node0][Hole][Node0]
Hmm..I'm not sure how many kind of machines will see this bug. But there may be some.
[kamezawa@bluextal linux-2.6.28]$ grep -R CONFIG_NODES_SPAN arch/* arch/powerpc/configs/celleb_defconfig:CONFIG_NODES_SPAN_OTHER_NODES=y arch/powerpc/configs/pseries_defconfig:CONFIG_NODES_SPAN_OTHER_NODES=y arch/powerpc/configs/cell_defconfig:CONFIG_NODES_SPAN_OTHER_NODES=y arch/sparc64/defconfig:CONFIG_NODES_SPAN_OTHER_NODES=y arch/x86/configs/x86_64_defconfig:CONFIG_NODES_SPAN_OTHER_NODES=y
powerpc/sparc64/x86 can see this bug.
IMHO, following 2 arch will be safe because.. On x86-64, it seems it doesn't allows above style of memmap. (BUG_ON() will hit) Powerpc is originator of this CONFIG_NODES_SPAN_OTHER_NODES and they did test.
Thanks, -Kame
| |