mirror of https://lore.kernel.org/lkml/
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®