All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
To: Tony Luck <tony.luck@gmail.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH] Alternate fix for ia64 tiger_defconfig build breakage
Date: Fri, 11 Jun 2010 14:25:44 -0400	[thread overview]
Message-ID: <1276280744.5581.13.camel@useless.americas.hpqcorp.net> (raw)
In-Reply-To: <AANLkTinSRHyxGFKRnIlfUGbnLqIpZWLtq7ipYFH25wGW@mail.gmail.com>

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@hp.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();
 }



      parent reply	other threads:[~2010-06-11 18:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-28  0:57 linux-next: build failure in Linus' tree Stephen Rothwell
2010-05-28  1:09 ` Linus Torvalds
2010-05-30  0:43   ` Stephen Rothwell
2010-06-01 17:04     ` Tony Luck
2010-06-01 17:07       ` Linus Torvalds
2010-06-11 18:25       ` Lee Schermerhorn [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1276280744.5581.13.camel@useless.americas.hpqcorp.net \
    --to=lee.schermerhorn@hp.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tony.luck@gmail.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.