|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/cpuidle: do not flush cache unless entering C3
# HG changeset patch
# User Wei Wang <wei.wang2@xxxxxxx>
# 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@xxxxxxx>
Modified-by: Zhang, Yang Z <yang.z.zhang@xxxxxxxxx>
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Committed-by: Jan Beulich <jbeulich@xxxxxxxx>
---
diff -r 6b72eb3b40cf -r a06e6cdeafe3 xen/arch/x86/acpi/cpu_idle.c
--- a/xen/arch/x86/acpi/cpu_idle.c Fri Apr 13 17:13:01 2012 +0100
+++ b/xen/arch/x86/acpi/cpu_idle.c Mon Apr 16 13:05:28 2012 +0200
@@ -493,7 +493,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() )
@@ -515,7 +517,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);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |