| From stable-bounces@linux.kernel.org Sat May 10 21:20:28 2008 |
| From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> |
| Date: Sun, 11 May 2008 04:20:09 GMT |
| Subject: x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system) |
| To: jejb@kernel.org, stable@kernel.org |
| Message-ID: <200805110420.m4B4K9cE012132@hera.kernel.org> |
| |
| From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> |
| |
| commit 5c3a121d52b30a1e53cdaa802fa1965fcd243164 upstream |
| |
| System topology on intel based system needs to be exported |
| for non-numa case as well. |
| |
| All parts of asm-i386/topology.h has come under |
| #ifdef CONFIG_NUMA after the merge to asm-x86/topology.h |
| |
| /sys/devices/system/cpu/cpu?/topology/* is populated based on |
| ENABLE_TOPO_DEFINES |
| |
| The sysfs cpu topology is not being populated on my dual socket |
| dual core xeon 5160 processor based (x86 32 bit) system. |
| |
| CONFIG_NUMA is not set in my case yet the topology is relevant |
| and useful. |
| |
| irqbalance daemon application depends on topology to build the |
| cpus and package list and it fails on Fedora9 beta since the |
| sysfs topology was not being populated in the 2.6.25 kernel. |
| |
| I am not sure if it was intentional to not define ENABLE_TOPO_DEFINES |
| for non-numa systems. |
| |
| This fix has been tested on the above mentioned dual core, dual socket |
| system. |
| |
| Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| include/asm-x86/topology.h | 18 ++++++++++-------- |
| 1 file changed, 10 insertions(+), 8 deletions(-) |
| |
| --- a/include/asm-x86/topology.h |
| +++ b/include/asm-x86/topology.h |
| @@ -25,6 +25,16 @@ |
| #ifndef _ASM_X86_TOPOLOGY_H |
| #define _ASM_X86_TOPOLOGY_H |
| |
| +#ifdef CONFIG_X86_32 |
| +# ifdef CONFIG_X86_HT |
| +# define ENABLE_TOPO_DEFINES |
| +# endif |
| +#else |
| +# ifdef CONFIG_SMP |
| +# define ENABLE_TOPO_DEFINES |
| +# endif |
| +#endif |
| + |
| #ifdef CONFIG_NUMA |
| #include <linux/cpumask.h> |
| #include <asm/mpspec.h> |
| @@ -112,10 +122,6 @@ extern unsigned long node_end_pfn[]; |
| extern unsigned long node_remap_size[]; |
| #define node_has_online_mem(nid) (node_start_pfn[nid] != node_end_pfn[nid]) |
| |
| -# ifdef CONFIG_X86_HT |
| -# define ENABLE_TOPO_DEFINES |
| -# endif |
| - |
| # define SD_CACHE_NICE_TRIES 1 |
| # define SD_IDLE_IDX 1 |
| # define SD_NEWIDLE_IDX 2 |
| @@ -123,10 +129,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 |