Mailing List Archive

[xen-unstable] X86: Fix cpufreq _psd HW_ALL coordination bug
# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1216376605 -3600
# Node ID 48be9885d341cc88128f2d3fa7e9d8ab0cf031f5
# Parent 1694061217ad661906408e4a6e1a9fb19b3bc7d9
X86: Fix cpufreq _psd HW_ALL coordination bug

Currently xen cpufreq has a bug when handleing _psd HW_ALL,
which will result in system broken when _psd HW_ALL.
This patch fix this bug by handling _psd HW_ALL in same way as
SW_ALL coordiantion, for the seek of safety.

Signed-off-by: Liu Jinsong <jinsong.liu@intel.com>
---
xen/arch/x86/acpi/cpufreq/cpufreq.c | 15 ++++++---------
1 files changed, 6 insertions(+), 9 deletions(-)

diff -r 1694061217ad -r 48be9885d341 xen/arch/x86/acpi/cpufreq/cpufreq.c
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c Fri Jul 18 11:22:12 2008 +0100
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c Fri Jul 18 11:23:25 2008 +0100
@@ -433,16 +433,13 @@ acpi_cpufreq_cpu_init(struct cpufreq_pol
perf = data->acpi_data;
policy->shared_type = perf->shared_type;

- /*
- * Will let policy->cpus know about dependency only when software
- * coordination is required.
+ /*
+ * Currently the latest linux (kernel version 2.6.26)
+ * still has issue when handle the situation _psd HW_ALL coordination.
+ * In Xen hypervisor, we handle _psd HW_ALL coordination in same way as
+ * _psd SW_ALL coordination for the seek of safety.
*/
- if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL ||
- policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) {
- policy->cpus = perf->shared_cpu_map;
- } else {
- policy->cpus = cpumask_of_cpu(cpu);
- }
+ policy->cpus = perf->shared_cpu_map;

/* capability check */
if (perf->state_count <= 1) {

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog