linux/arch
Magnus Damm ffd10a2b77 [PATCH] x86_64: Make node boundaries consistent
The current x86_64 NUMA memory code is inconsequent when it comes to node
memory ranges. The exact behaviour varies depending on which config option
that is used.

setup_node_bootmem() has start and end as arguments and these are used to
calculate the size of the node like this: (end - start). This is all fine
if end is pointing to the first non-available byte. The problem is that the
current x86_64 code sometimes treats it as the last present byte and sometimes
as the first non-available byte. The result is that some configurations might
lose a page at the end of the range.

This patch tries to fix CONFIG_ACPI_NUMA, CONFIG_K8_NUMA and CONFIG_NUMA_EMU
so they all treat the end variable as the first non-available byte. This is
the same way as the single node code.

The patch is boot tested on dual x86_64 hardware with the above configurations,
but maybe the removed code is needed as some workaround?

Signed-off-by: Magnus Damm <magnus@valinux.co.jp>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-14 19:55:17 -08:00
..
alpha [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
arm [PATCH] ARM: Reverted 2918/1: [update] Base port of Comdial MP1000 platfrom 2005-11-04 17:28:34 +00:00
arm26 [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
cris [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
frv [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
h8300 [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
i386 [PATCH] x86_64: x86_64/i386 fix Intel cache detection code assumption about threads sharing 2005-11-14 19:55:16 -08:00
ia64 [PATCH] x86_64: Set compatibility flag for 4GB zone on IA64 2005-11-14 19:55:13 -08:00
m32r Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-10-31 07:32:56 -08:00
m68k [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
m68knommu [PATCH] m68knommu: updated defconfig 2005-11-01 21:41:19 -08:00
mips Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-10-31 07:32:56 -08:00
parisc [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
powerpc Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc-merge 2005-11-04 16:27:50 -08:00
ppc powerpc: Merge smp.c and smp.h 2005-11-05 10:33:55 +11:00
ppc64 powerpc: Merge smp.c and smp.h 2005-11-05 10:33:55 +11:00
s390 [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
sh Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-10-31 07:32:56 -08:00
sh64 [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
sparc [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
sparc64 [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
um [PATCH] missing platform_device.h includes 2005-11-01 21:50:01 -08:00
v850 [PATCH] jiffies_64 cleanup 2005-10-30 17:37:25 -08:00
x86_64 [PATCH] x86_64: Make node boundaries consistent 2005-11-14 19:55:17 -08:00
xtensa Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-10-31 07:32:56 -08:00