ia64/xen-unstable

changeset 18100:48be9885d341

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>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jul 18 11:23:25 2008 +0100 (2008-07-18)
parents 1694061217ad
children b896b39470f0
files xen/arch/x86/acpi/cpufreq/cpufreq.c
line diff
     1.1 --- a/xen/arch/x86/acpi/cpufreq/cpufreq.c	Fri Jul 18 11:22:12 2008 +0100
     1.2 +++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c	Fri Jul 18 11:23:25 2008 +0100
     1.3 @@ -433,16 +433,13 @@ acpi_cpufreq_cpu_init(struct cpufreq_pol
     1.4      perf = data->acpi_data;
     1.5      policy->shared_type = perf->shared_type;
     1.6  
     1.7 -    /*
     1.8 -     * Will let policy->cpus know about dependency only when software
     1.9 -     * coordination is required.
    1.10 +    /* 
    1.11 +     * Currently the latest linux (kernel version 2.6.26) 
    1.12 +     * still has issue when handle the situation _psd HW_ALL coordination.
    1.13 +     * In Xen hypervisor, we handle _psd HW_ALL coordination in same way as
    1.14 +     * _psd SW_ALL coordination for the seek of safety.
    1.15       */
    1.16 -    if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL ||
    1.17 -        policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) {
    1.18 -        policy->cpus = perf->shared_cpu_map;
    1.19 -    } else {
    1.20 -        policy->cpus = cpumask_of_cpu(cpu);    
    1.21 -    }
    1.22 +    policy->cpus = perf->shared_cpu_map;
    1.23  
    1.24      /* capability check */
    1.25      if (perf->state_count <= 1) {