Skip to contentSkip to conversation

x86: little fix in 'include/asm-x86/topology.h'

PATCH In review Miguel Botón 2 participants 3 messages Jan 4, 2008 – Jan 5, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86: little fix in 'include/asm-x86/topology.h'

Before 'topology_32.h' and 'topology_64.h' were unified, topology defines in a X86_64 kernel were declared if CONFIG_SMP was enabled.
Now, post unification, these same defines in a X86_64 kernel are only being declared if CONFIG_NUMA and CONFIG_SMP are enabled.

This, for example, breaks 'perfmon_amd64.c' compilation.

This patch defines ENABLE_TOPO_DEFINE if this is a X86_64 kernel and we have SMP support enabled.

include/asm-x86/topology.h +4 -4
index 9c25160..f95b3cc 100644
@@ -79,10 +79,6 @@ extern unsigned long node_remap_size[];
 
 #else
 
-# ifdef CONFIG_SMP
-#  define ENABLE_TOPO_DEFINES
-# endif
-
 # define SD_CACHE_NICE_TRIES	2
 # define SD_IDLE_IDX		2
 # define SD_NEWIDLE_IDX		0
@@ -129,6 +125,10 @@ extern int __node_distance(int, int);
 
 extern cpumask_t cpu_coregroup_map(int cpu);
 
+#if defined(CONFIG_X86_64) && defined(CONFIG_SMP)
+# define ENABLE_TOPO_DEFINES
+#endif
+
 #ifdef ENABLE_TOPO_DEFINES
 #define topology_physical_package_id(cpu)	(cpu_data(cpu).phys_proc_id)
 #define topology_core_id(cpu)			(cpu_data(cpu).cpu_core_id)
Signature · 1 line
	Miguel Botón
#1 lore raw
Quoted 9 lines · Miguel Botón

Before 'topology_32.h' and 'topology_64.h' were unified, topology defines in a X86_64 kernel were declared if CONFIG_SMP was enabled. Now, post unification, these same defines in a X86_64 kernel are only being declared if CONFIG_NUMA and CONFIG_SMP are enabled.

This, for example, breaks 'perfmon_amd64.c' compilation.

This patch defines ENABLE_TOPO_DEFINE if this is a X86_64 kernel and we have SMP support enabled.

hm, do you have a .config that fails to build?

Ingo

#2 lore raw
Quoted 6 lines · On Saturday 05 January 2008 16:09:44 Ingo Molnar wrote:
Quoted 5 lines · Miguel Botón

Before 'topology_32.h' and 'topology_64.h' were unified, topology defines in a X86_64 kernel were declared if CONFIG_SMP was enabled. Now, post unification, these same defines in a X86_64 kernel are only being declared if CONFIG_NUMA and CONFIG_SMP are enabled.

Quoted 8 lines
Quoted 4 lines

This, for example, breaks 'perfmon_amd64.c' compilation.

This patch defines ENABLE_TOPO_DEFINE if this is a X86_64 kernel and we have SMP support enabled.

hm, do you have a .config that fails to build?

Ingo

I had a .config (I deleted it) that fails to build *but* using the tree from
http://git.kernel.org/?p=linux/kernel/git/eranian/linux-2.6.git;a=summary

The problem was that CONFIG_NUMA wasn't defined so ENABLE_TOPO_DEFINE wasn't defined too and then we get an error about an implicit declaration of 'topology_physical_package_id'.

Signature · 1 line
	Miguel Botón