x86: little fix in 'include/asm-x86/topology.h'
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
@@ -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
Quoted 9 lines · Miguel Botón
Before '
topology_32.h' and 'topology_64.h' were unified, topology defines in aX86_64kernel were declared ifCONFIG_SMPwas enabled. Now, post unification, these same defines in aX86_64kernel are only being declared ifCONFIG_NUMAandCONFIG_SMPare enabled.This, for example, breaks '
perfmon_amd64.c' compilation.This patch defines
ENABLE_TOPO_DEFINEif this is aX86_64kernel and we have SMP support enabled.
hm, do you have a .config that fails to build?
Ingo
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 aX86_64kernel were declared ifCONFIG_SMPwas enabled. Now, post unification, these same defines in aX86_64kernel are only being declared ifCONFIG_NUMAandCONFIG_SMPare enabled.
Quoted 8 lines
Quoted 4 lines
This, for example, breaks '
perfmon_amd64.c' compilation.This patch defines
ENABLE_TOPO_DEFINEif this is aX86_64kernel 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