Messages in this thread Patch in this message | | | Subject | [Patch] 3/5 in support of hot-add memory x86_64 arch_find_node x86_64 | From | keith mannthey <> | Date | Fri, 28 Jul 2006 19:52:41 -0700 |
| |
Hello all This is a enablement of the generic arch_find_node for x86_64. It uses the nodes_add date collected from the SRAT to do it's lookup.
I suspect and i386 version will be needed when I get to that arch with my work.
This was built against 2.6.18-rc2.
Signed-off-by: Keith Mannthey <kmannth@us.ibm.com> diff -urN orig/arch/x86_64/Kconfig work/arch/x86_64/Kconfig --- orig/arch/x86_64/Kconfig 2006-07-28 13:57:35.000000000 -0400 +++ work/arch/x86_64/Kconfig 2006-07-28 21:20:16.000000000 -0400 @@ -343,6 +343,10 @@ def_bool y depends on MEMORY_HOTPLUG +config ARCH_FIND_NODE + def_bool y + depends on MEMORY_HOTPLUG + config ARCH_FLATMEM_ENABLE def_bool y depends on !NUMA diff -urN orig/arch/x86_64/mm/srat.c work/arch/x86_64/mm/srat.c --- orig/arch/x86_64/mm/srat.c 2006-07-28 13:57:35.000000000 -0400 +++ work/arch/x86_64/mm/srat.c 2006-07-28 21:19:01.000000000 -0400 @@ -450,3 +450,15 @@ } EXPORT_SYMBOL(__node_distance); + +int arch_find_node(unsigned long start, unsigned long size) +{ + int i, ret = 0; + unsigned long end = start+size; + + for_each_node(i) { + if (nodes_add[i].start <= start && nodes_add[i].end >= end) + ret = i; + } + return ret; +} | |