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] [XEN] Don't pass spurious fast-path fault

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [XEN] Don't pass spurious fast-path faults to the guest at all.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 20 Dec 2006 17:15:19 -0800
Delivery-date: Wed, 20 Dec 2006 17:16:52 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/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 Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>
# Date 1166616278 0
# Node ID 988d3a63d9befa9fd68b986f293b935f2ffc02e5
# Parent  c75d6f2aad7a64b66b814ade1af9669ea456a69a
[XEN] Don't pass spurious fast-path faults to the guest at all.
Instead, retry and get a sensible fault from the hardware next time.
Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>
---
 xen/arch/x86/mm/shadow/multi.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diff -r c75d6f2aad7a -r 988d3a63d9be xen/arch/x86/mm/shadow/multi.c
--- a/xen/arch/x86/mm/shadow/multi.c    Wed Dec 20 12:03:07 2006 +0000
+++ b/xen/arch/x86/mm/shadow/multi.c    Wed Dec 20 12:04:38 2006 +0000
@@ -2645,14 +2645,11 @@ static int sh_page_fault(struct vcpu *v,
         else
         {
             /* This should be exceptionally rare: another vcpu has fixed
-             * the tables between the fault and our reading the l1e.
-             * Fall through to the normal fault handing logic */
+             * the tables between the fault and our reading the l1e. 
+             * Retry and let the hardware give us the right fault next time. */
             perfc_incrc(shadow_fault_fast_fail);
-            SHADOW_PRINTK("fast path false alarm!\n");
-            /* Don't pass the reserved-bit bit: if we look at the fault 
-             * below and decide to pass it to the guest, the reserved-bit
-             * bit won't make sense there. */
-            regs->error_code &= ~PFEC_reserved_bit;
+            SHADOW_PRINTK("fast path false alarm!\n");            
+            return EXCRET_fault_fixed;
         }
     }
 #endif /* SHOPT_FAST_FAULT_PATH */

_______________________________________________
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] [XEN] Don't pass spurious fast-path faults to the guest at all., Xen patchbot-unstable <=