WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

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

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86: Clean up wbinvd usage in cpu offline paths.
From: Xen patchbot-unstable <patchbot@xxxxxxx>
Date: Sun, 13 Mar 2011 07:05:16 +0000
Delivery-date: Sat, 12 Mar 2011 23:06:46 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86: Clean up wbinvd usage in cpu offline paths., Xen patchbot-unstable <=