summaryrefslogtreecommitdiffstats
path: root/mm/sparse.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2007-08-28 07:56:11 +0200
committerPaul Mackerras <paulus@samba.org>2007-08-28 07:56:11 +0200
commit35438c4327df18dbf5e7f597b69299119f4a14de (patch)
treea4589d731015db93f2eba8f84ffb1f48a8084020 /mm/sparse.c
parent[POWERPC] Stop include asm-ppc when building ARCH=powerpc for ppc32 (diff)
parentLinux 2.6.23-rc4 (diff)
downloadlinux-35438c4327df18dbf5e7f597b69299119f4a14de.tar.xz
linux-35438c4327df18dbf5e7f597b69299119f4a14de.zip
Merge branch 'linux-2.6' into for-2.6.24
Diffstat (limited to 'mm/sparse.c')
-rw-r--r--mm/sparse.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/mm/sparse.c b/mm/sparse.c
index 3047bf06c1f3..239f5a720d38 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -41,6 +41,15 @@ int page_to_nid(struct page *page)
return section_to_node_table[page_to_section(page)];
}
EXPORT_SYMBOL(page_to_nid);
+
+static void set_section_nid(unsigned long section_nr, int nid)
+{
+ section_to_node_table[section_nr] = nid;
+}
+#else /* !NODE_NOT_IN_PAGE_FLAGS */
+static inline void set_section_nid(unsigned long section_nr, int nid)
+{
+}
#endif
#ifdef CONFIG_SPARSEMEM_EXTREME
@@ -68,10 +77,6 @@ static int __meminit sparse_index_init(unsigned long section_nr, int nid)
struct mem_section *section;
int ret = 0;
-#ifdef NODE_NOT_IN_PAGE_FLAGS
- section_to_node_table[section_nr] = nid;
-#endif
-
if (mem_section[root])
return -EEXIST;
@@ -148,6 +153,7 @@ void __init memory_present(int nid, unsigned long start, unsigned long end)
struct mem_section *ms;
sparse_index_init(section, nid);
+ set_section_nid(section, nid);
ms = __nr_to_section(section);
if (!ms->section_mem_map)