[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <1276280744.5581.13.camel@useless.americas.hpqcorp.net>
Date: Fri, 11 Jun 2010 14:25:44 -0400
From: Lee Schermerhorn <Lee.Schermerhorn@...com>
To: Tony Luck <tony.luck@...il.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH] Alternate fix for ia64 tiger_defconfig build breakage
Offered as an alternative to Tony's in-line #ifdefs to address the ia64
non-numa build breakage.
Lee
-----------------------------------
Define stubs for the numa_*_id() generic percpu related functions
for non-NUMA configurations in <asm-generic/topology.h> where the
other non-numa stubs live.
Fixes ia64 !NUMA build breakage -- e.g., tiger_defconfig
Back out now unneeded '#ifndef CONFIG_NUMA' guards from ia64
smpboot.c
Signed-off-by: Lee Schermerhorn <lee.schermerhorn@...com>
arch/ia64/Kconfig | 3 +--
arch/ia64/kernel/smpboot.c | 4 ----
include/asm-generic/topology.h | 20 +++++++++++++++++++-
include/linux/topology.h | 4 ----
4 files changed, 20 insertions(+), 11 deletions(-)
Index: linux-2.6.35-rc2/include/asm-generic/topology.h
===================================================================
--- linux-2.6.35-rc2.orig/include/asm-generic/topology.h
+++ linux-2.6.35-rc2/include/asm-generic/topology.h
@@ -5,7 +5,7 @@
*
* Copyright (C) 2002, IBM Corp.
*
- * All rights reserved.
+ * All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -34,9 +34,16 @@
#ifndef cpu_to_node
#define cpu_to_node(cpu) ((void)(cpu),0)
#endif
+#ifndef set_numa_node
+#define set_numa_node(node)
+#endif
+#ifndef set_cpu_numa_node
+#define set_cpu_numa_node(cpu, node)
+#endif
#ifndef cpu_to_mem
#define cpu_to_mem(cpu) ((void)(cpu),0)
#endif
+
#ifndef parent_node
#define parent_node(node) ((void)(node),0)
#endif
@@ -55,4 +62,15 @@
#endif /* CONFIG_NUMA */
+#if !defined(CONFIG_NUMA) || !defined(CONFIG_HAVE_MEMORYLESS_NODES)
+
+#ifndef set_numa_mem
+#define set_numa_mem(node)
+#endif
+#ifndef set_cpu_numa_mem
+#define set_cpu_numa_mem(cpu, node)
+#endif
+
+#endif /* !CONFIG_NUMA || !CONFIG_HAVE_MEMORYLESS_NODES */
+
#endif /* _ASM_GENERIC_TOPOLOGY_H */
Index: linux-2.6.35-rc2/arch/ia64/Kconfig
===================================================================
--- linux-2.6.35-rc2.orig/arch/ia64/Kconfig
+++ linux-2.6.35-rc2/arch/ia64/Kconfig
@@ -503,8 +503,7 @@ config USE_PERCPU_NUMA_NODE_ID
depends on NUMA
config HAVE_MEMORYLESS_NODES
- def_bool y
- depends on NUMA
+ def_bool NUMA
config ARCH_PROC_KCORE_TEXT
def_bool y
Index: linux-2.6.35-rc2/include/linux/topology.h
===================================================================
--- linux-2.6.35-rc2.orig/include/linux/topology.h
+++ linux-2.6.35-rc2/include/linux/topology.h
@@ -291,10 +291,6 @@ static inline void set_cpu_numa_mem(int
#else /* !CONFIG_HAVE_MEMORYLESS_NODES */
-static inline void set_numa_mem(int node) {}
-
-static inline void set_cpu_numa_mem(int cpu, int node) {}
-
#ifndef numa_mem_id
/* Returns the number of the nearest Node with memory */
static inline int numa_mem_id(void)
Index: linux-2.6.35-rc2/arch/ia64/kernel/smpboot.c
===================================================================
--- linux-2.6.35-rc2.orig/arch/ia64/kernel/smpboot.c
+++ linux-2.6.35-rc2/arch/ia64/kernel/smpboot.c
@@ -390,13 +390,11 @@ smp_callin (void)
fix_b0_for_bsp();
-#ifdef CONFIG_NUMA
/*
* numa_node_id() works after this.
*/
set_numa_node(cpu_to_node_map[cpuid]);
set_numa_mem(local_memory_node(cpu_to_node_map[cpuid]));
-#endif
ipi_call_lock_irq();
spin_lock(&vector_lock);
@@ -640,9 +638,7 @@ void __devinit smp_prepare_boot_cpu(void
{
cpu_set(smp_processor_id(), cpu_online_map);
cpu_set(smp_processor_id(), cpu_callin_map);
-#ifdef CONFIG_NUMA
set_numa_node(cpu_to_node_map[smp_processor_id()]);
-#endif
per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE;
paravirt_post_smp_prepare_boot_cpu();
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists