[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-4.1-testing] x86/cpuidle: do not flush cache unless entering C3
# HG changeset patch # User Wei Wang <wei.wang2@xxxxxxx> # Date 1337930327 -3600 # Node ID 435493696053a079ec17d6e1a63e5f2be3a2c9d0 # Parent 35248be669e71520eb40e85986b106bd5164d7ea 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> xen-unstable changeset: 25195:a06e6cdeafe3 xen-unstable date: Mon Apr 16 13:05:28 2012 +0200 --- diff -r 35248be669e7 -r 435493696053 xen/arch/x86/acpi/cpu_idle.c --- a/xen/arch/x86/acpi/cpu_idle.c Mon May 14 16:59:12 2012 +0100 +++ b/xen/arch/x86/acpi/cpu_idle.c Fri May 25 08:18:47 2012 +0100 @@ -483,7 +483,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() ) @@ -505,7 +507,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 |