[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] x86: Clean up wbinvd usage in cpu offline paths.



# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1299864445 0
# Node ID 929195d87ca65aae3382065e00268ffcda4261eb
# Parent  fb39508881540f3dec0f24fd4d81e8234b4fbed6
x86: Clean up wbinvd usage in cpu offline paths.

No need to wbinvd before HLT (entering C1) as the processor continues
to participate in the full cache coherency protocol in this sleep
state.

Signed-off-by: Keir Fraser <keir@xxxxxxx>
---


diff -r fb3950888154 -r 929195d87ca6 xen/arch/x86/acpi/cpu_idle.c
--- a/xen/arch/x86/acpi/cpu_idle.c      Fri Mar 11 17:18:53 2011 +0000
+++ b/xen/arch/x86/acpi/cpu_idle.c      Fri Mar 11 17:27:25 2011 +0000
@@ -567,8 +567,8 @@
     if ( cx->entry_method == ACPI_CSTATE_EM_FFH )
     {
         /*
-         * cache must be flashed as the last ops before cpu going into dead,
-         * otherwise, cpu may dead with dirty data breaking cache coherency,
+         * Cache must be flushed as the last operation before sleeping.
+         * Otherwise, CPU may still hold dirty data, breaking cache coherency,
          * leading to strange errors.
          */
         wbinvd();
@@ -593,7 +593,6 @@
     }
 
 default_halt:
-    wbinvd();
     for ( ; ; )
         halt();
 }
diff -r fb3950888154 -r 929195d87ca6 xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     Fri Mar 11 17:18:53 2011 +0000
+++ b/xen/arch/x86/domain.c     Fri Mar 11 17:27:25 2011 +0000
@@ -93,12 +93,6 @@
 
 static void default_dead_idle(void)
 {
-    /*
-     * cache must be flashed as the last ops before cpu going into dead,
-     * otherwise, cpu may dead with dirty data breaking cache coherency,
-     * leading to strange errors.
-     */
-    wbinvd();
     for ( ; ; )
         halt();
 }

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.