aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2006-10-20 02:29:05 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-20 13:26:43 -0400
commit6220ec7844fda2686496013a66b5b9169976b991 (patch)
tree7274cbe70f0ef3da085e1f74e3605fa8d1cfc777
parente51959faa61278c762389802faf8ba1a40676628 (diff)
[PATCH] highest_possible_node_id() linkage fix
Qooting Adrian: - net/sunrpc/svc.c uses highest_possible_node_id() - include/linux/nodemask.h says highest_possible_node_id() is out-of-line #if MAX_NUMNODES > 1 - the out-of-line highest_possible_node_id() is in lib/cpumask.c - lib/Makefile: lib-$(CONFIG_SMP) += cpumask.o CONFIG_ARCH_DISCONTIGMEM_ENABLE=y, CONFIG_SMP=n, CONFIG_SUNRPC=y -> highest_possible_node_id() is used in net/sunrpc/svc.c CONFIG_NODES_SHIFT defined and > 0 -> include/linux/numa.h: MAX_NUMNODES > 1 -> compile error The bug is not present on architectures where ARCH_DISCONTIGMEM_ENABLE depends on NUMA (but m32r isn't the only affected architecture). So move the function into page_alloc.c Cc: Adrian Bunk <bunk@stusta.de> Cc: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--lib/cpumask.c16
-rw-r--r--mm/page_alloc.c16
2 files changed, 16 insertions, 16 deletions
diff --git a/lib/cpumask.c b/lib/cpumask.c
index 7a2a73f88d59..3a67dc5ada7d 100644
--- a/lib/cpumask.c
+++ b/lib/cpumask.c
@@ -43,19 +43,3 @@ int __any_online_cpu(const cpumask_t *mask)
43 return cpu; 43 return cpu;
44} 44}
45EXPORT_SYMBOL(__any_online_cpu); 45EXPORT_SYMBOL(__any_online_cpu);
46
47#if MAX_NUMNODES > 1
48/*
49 * Find the highest possible node id.
50 */
51int highest_possible_node_id(void)
52{
53 unsigned int node;
54 unsigned int highest = 0;
55
56 for_each_node_mask(node, node_possible_map)
57 highest = node;
58 return highest;
59}
60EXPORT_SYMBOL(highest_possible_node_id);
61#endif
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index afee38f04d84..ebd425c2e2a7 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3120,3 +3120,19 @@ unsigned long page_to_pfn(struct page *page)
3120EXPORT_SYMBOL(pfn_to_page); 3120EXPORT_SYMBOL(pfn_to_page);
3121EXPORT_SYMBOL(page_to_pfn); 3121EXPORT_SYMBOL(page_to_pfn);
3122#endif /* CONFIG_OUT_OF_LINE_PFN_TO_PAGE */ 3122#endif /* CONFIG_OUT_OF_LINE_PFN_TO_PAGE */
3123
3124#if MAX_NUMNODES > 1
3125/*
3126 * Find the highest possible node id.
3127 */
3128int highest_possible_node_id(void)
3129{
3130 unsigned int node;
3131 unsigned int highest = 0;
3132
3133 for_each_node_mask(node, node_possible_map)
3134 highest = node;
3135 return highest;
3136}
3137EXPORT_SYMBOL(highest_possible_node_id);
3138#endif