[xen/f16] remove some unnecessary cache flushing that slow things down (#841330)

myoung myoung at fedoraproject.org
Wed Aug 8 19:23:47 UTC 2012


commit c83c81d8591fe1de0e52209892a741ff5e1b3df3
Author: Michael Young <m.a.young at durham.ac.uk>
Date:   Wed Aug 8 20:21:53 2012 +0100

    remove some unnecessary cache flushing that slow things down (#841330)

 xen-4.1-testing.23298.patch |   42 ++++++++++++++++++++++++++++++++++++++++++
 xen.spec                    |    7 ++++++-
 2 files changed, 48 insertions(+), 1 deletions(-)
---
diff --git a/xen-4.1-testing.23298.patch b/xen-4.1-testing.23298.patch
new file mode 100644
index 0000000..3ef4add
--- /dev/null
+++ b/xen-4.1-testing.23298.patch
@@ -0,0 +1,42 @@
+
+# HG changeset patch
+# User Wei Wang <wei.wang2 at amd.com>
+# 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 at amd.com>
+Modified-by: Zhang, Yang Z <yang.z.zhang at intel.com>
+Signed-off-by: Jan Beulich <jbeulich at suse.com>
+Committed-by: Jan Beulich <jbeulich at suse.com>
+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);
+
diff --git a/xen.spec b/xen.spec
index c764f97..bb2df9f 100644
--- a/xen.spec
+++ b/xen.spec
@@ -10,7 +10,7 @@
 Summary: Xen is a virtual machine monitor
 Name:    xen
 Version: 4.1.2
-Release: 9%{?dist}
+Release: 10%{?dist}
 Group:   Development/Libraries
 License: GPLv2+ and LGPLv2+ and BSD
 URL:     http://xen.org/
@@ -63,6 +63,7 @@ Patch40: CVE-2012-0217.patch
 Patch41: CVE-2012-0218.patch
 Patch42: CVE-2012-2934.patch
 Patch43: xen-4.1-testing.23325.patch
+Patch44: xen-4.1-testing.23298.patch
 
 Patch50: upstream-23936:cdb34816a40a-rework
 Patch51: upstream-23937:5173834e8476
@@ -232,6 +233,7 @@ manage Xen virtual machines.
 %patch41 -p1
 %patch42 -p1
 %patch43 -p1
+%patch44 -p1
 
 %patch50 -p1
 %patch51 -p1
@@ -644,6 +646,9 @@ rm -rf %{buildroot}
 %endif
 
 %changelog
+* Wed Aug 08 2012 Michael Young <m.a.young at durham.ac.uk> - 4.1.2-10
+- remove some unnecessary cache flushing that slow things down (#841330)
+
 * Fri Jul 27 2012 Michael Young <m.a.young at durham.ac.uk> - 4.1.2-9
 - in rare circumstances an unprivileged user can crash an HVM guest
   [XSA-10, CVE-2012-3432] (#843766)


More information about the scm-commits mailing list