Re: [PATCH][REPOST] Don't export sched_mc_power_savingsonmulti-socket single core system

From: Vaidyanathan Srinivasan
Date: Mon May 11 2009 - 10:40:00 EST


* Ingo Molnar <mingo@xxxxxxx> [2009-05-11 14:35:29]:

>
> * Mahesh Jagannath Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> wrote:
>
> > My previous post got lost somewhere in lkml list. Hence reposting
> > this patch again.
>
> no, it did not get lost, i gave you the feedback below more than a
> month ago. FYI, this resubmission has the same corrupted-patch
> problem.

Hi Ingo,

My copy of the [REPOST] seem to have tabs correct. Anyways I have
added an extra parentheses also in the #define. Please check and
apply.

Thanks,
Vaidy

Don't export sched_mc_power_savings on multi-socket single core system

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@xxxxxxxxxxxxxxxxxx>
---

arch/x86/include/asm/topology.h | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)


diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
index f44b49a..066ef59 100644
--- a/arch/x86/include/asm/topology.h
+++ b/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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/