25242-x86_64-hotplug-compat-m2p.patch 25247-SVM-no-rdtsc-intercept.patch 25267-x86-text-unlikely.patch 25269-x86-vMCE-addr-misc-write.patch 25271-x86_64-IST-index.patch 25327-pvdrv-no-asm-system-h.patch - Upstream patches from Jan 25168-x86-memset-size.patch 25191-x86-tdt-delta-calculation.patch 25195-x86-cpuidle-C2-no-flush-or-bm-check.patch 25196-x86-HAP-PAT-sr.patch 25200-x86_64-trap-bounce-flags.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=189
38 lines
1.4 KiB
Diff
38 lines
1.4 KiB
Diff
# HG changeset patch
|
|
# User Wei Wang <wei.wang2@amd.com>
|
|
# Date 1334574328 -7200
|
|
# Node ID a06e6cdeafe34964721df3ddb32774d4634fd7ad
|
|
# Parent 6b72eb3b40cf2b3d5a6c75d68fa7093c57fc0d1f
|
|
x86/cpuidle: do not flush cache unless entering C3
|
|
|
|
Nor is there a need to disable bus master arbitration in that case.
|
|
|
|
Signed-off-by: Wei Wang <wei.wang2@amd.com>
|
|
Modified-by: Zhang, Yang Z <yang.z.zhang@intel.com>
|
|
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
|
Committed-by: Jan Beulich <jbeulich@suse.com>
|
|
|
|
--- a/xen/arch/x86/acpi/cpu_idle.c
|
|
+++ b/xen/arch/x86/acpi/cpu_idle.c
|
|
@@ -485,7 +485,9 @@ static void acpi_processor_idle(void)
|
|
* not set. In that case we cannot do much, we enter C3
|
|
* without doing anything.
|
|
*/
|
|
- if ( power->flags.bm_check && power->flags.bm_control )
|
|
+ if ( cx->type != ACPI_STATE_C3 )
|
|
+ /* nothing to be done here */;
|
|
+ else if ( power->flags.bm_check && power->flags.bm_control )
|
|
{
|
|
spin_lock(&c3_cpu_status.lock);
|
|
if ( ++c3_cpu_status.count == num_online_cpus() )
|
|
@@ -507,7 +509,8 @@ static void acpi_processor_idle(void)
|
|
/* Invoke C3 */
|
|
acpi_idle_do_entry(cx);
|
|
|
|
- if ( power->flags.bm_check && power->flags.bm_control )
|
|
+ if ( (cx->type == ACPI_STATE_C3) &&
|
|
+ power->flags.bm_check && power->flags.bm_control )
|
|
{
|
|
/* Enable bus master arbitration */
|
|
spin_lock(&c3_cpu_status.lock);
|