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-devel

[Xen-devel] Please pull xen-ia64-unstable.hg

To: Keir Fraser <keir@xxxxxxxxxxxxx>
Subject: [Xen-devel] Please pull xen-ia64-unstable.hg
From: Alex Williamson <alex.williamson@xxxxxx>
Date: Tue, 24 Apr 2007 10:57:15 -0600
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 24 Apr 2007 09:56:02 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: HP OSLO R&D
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi Keir,

   We've got one patch in the tree that we'd like to try to get into
3.0.5.  Please pull:

http://xenbits.xensource.com/ext/xen-ia64-unstable.hg

and if you don't plan another sweep of xen-unstable, please import the
patch below into http://xenbits.xensource.com/xen-3.0.5-testing.hg
Thanks,

        Alex


# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1177427244 21600
# Node ID ef5da9ca01711045a9206fcbc884bf11508dde45
# Parent  039daabebad5d3c69fb9497693e8e3fd4fee00c9
[IA64] Fix ptc.g race

If one vcpu is executing ptc.g, while the other vcpu is executing itc,
the VHPT(VTLB) entry which should be purged may unexpectedly survive.
Then issue happens.

Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx>

diff -r 039daabebad5 -r ef5da9ca0171 xen/arch/ia64/vmx/vtlb.c
--- a/xen/arch/ia64/vmx/vtlb.c  Fri Apr 13 16:07:48 2007 +0100
+++ b/xen/arch/ia64/vmx/vtlb.c  Tue Apr 24 09:07:24 2007 -0600
@@ -168,6 +168,7 @@ static void vmx_vhpt_insert(thash_cb_t *
     else{
         cch = __alloc_chain(hcb);
     }
+    local_irq_disable();
     *cch = *head;
     head->page_flags=pte;
     head->itir = rr.ps << 2;
@@ -175,6 +176,7 @@ static void vmx_vhpt_insert(thash_cb_t *
     head->next = cch;
     head->len = cch->len+1;
     cch->len = 0;
+    local_irq_enable();
     return;
 }
 
@@ -424,14 +426,14 @@ void vtlb_insert(VCPU *v, u64 pte, u64 i
     else {
         cch = __alloc_chain(hcb);
     }
-    *cch = *hash_table;
-    hash_table->page_flags = pte;
-    hash_table->itir=itir;
-    hash_table->etag=tag;
+    cch->page_flags = pte;
+    cch->itir = itir;
+    cch->etag = tag;
+    cch->next = hash_table->next;
+    wmb();
     hash_table->next = cch;
-    hash_table->len = cch->len + 1;
-    cch->len = 0;
-    return ;
+    hash_table->len += 1;
+    return;
 }
 
 



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

<Prev in Thread] Current Thread [Next in Thread>