Messages in this thread Patch in this message |  | | | Date | Mon, 11 May 2009 18:00:03 +0530 | | From | Mahesh Jagannath Salgaonkar <> | | Subject | [PATCH][REPOST] Don't export sched_mc_power_savings on multi-socket single core system |
| |
My previous post got lost somewhere in lkml list. Hence reposting this patch again.
Fix to prevent sched_mc_power_saving from being exported through sysfs for multi-scoket single core system. Max cores should be always greater than one (1). My earlier patch that introduced fix for not exporting 'sched_mc_power_saving' on laptops broke it on multi-socket single core system. This fix addresses issue on both laptop and multi-socket single core system. Below are the Test results:
1. Single socket - multi-core Before Patch: Does not export 'sched_mc_power_saving' After Patch: Does not export 'sched_mc_power_saving' Result: Pass
2. Multi Socket - single core Before Patch: exports 'sched_mc_power_saving' After Patch: Does not export 'sched_mc_power_saving' Result: Pass
3. Multi Socket - Multi core Before Patch: exports 'sched_mc_power_saving' After Patch: exports 'sched_mc_power_saving'
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Index: linux-2.6/arch/x86/include/asm/topology.h =================================================================== --- linux-2.6.orig/arch/x86/include/asm/topology.h +++ linux-2.6/arch/x86/include/asm/topology.h @@ -203,7 +203,8 @@ struct pci_bus; void x86_pci_root_bus_res_quirks(struct pci_bus *b);
#ifdef CONFIG_SMP -#define mc_capable() (cpumask_weight(cpu_core_mask(0)) != nr_cpu_ids) +#define mc_capable() (boot_cpu_data.x86_max_cores > 1) && \ + (cpumask_weight(cpu_core_mask(0)) != nr_cpu_ids) #define smt_capable() (smp_num_siblings > 1) #endif
|  |