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

[Xen-ia64-devel] A small cleanup for vtlb collision chain search

To: <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-ia64-devel] A small cleanup for vtlb collision chain search
From: "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx>
Date: Fri, 7 Mar 2008 10:57:12 +0800
Cc: Alex Williamson <alex.williamson@xxxxxx>
Delivery-date: Thu, 06 Mar 2008 18:59:46 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Ach/5YSBjfTO64xERjS+gAI7YweagAAGQ/Dg
Thread-topic: A small cleanup for vtlb collision chain search
# HG changeset patch
# User root@xxxxxxxxxxxxxxxxxxxxxx
# Date 1204830453 -28800
# Node ID fccd0d524c3b7b6989346e77ea855754799281c0
# Parent  ff90abf572f2d5aa7d4a7f764b3c343b66a06210
no need to continue search collision chain
after one is found since guest TLB can't
have any overlap.

Signed-off-by: Dong Yaozu <eddie.dong@xxxxxxxxx>
Signed-off-by: Zhang Xiantao <xiantao.zhang@xxxxxxxxx>

diff -r ff90abf572f2 xen/arch/ia64/vmx/vtlb.c
--- a/xen/arch/ia64/vmx/vtlb.c  Fri Jan 18 14:11:20 2008 -0700
+++ b/xen/arch/ia64/vmx/vtlb.c  Fri Mar 07 07:29:13 2008 +0800
@@ -332,8 +332,10 @@ static void vtlb_purge(VCPU *v, u64 va, 
         while (num) {
             cur = vtlb_thash(hcb->pta, curadr, vrr.rrval, &tag);
             while (cur) {
-                if (cur->etag == tag && cur->ps == rr_ps)
+                if (cur->etag == tag && cur->ps == rr_ps) {
                     cur->etag = 1UL << 63;
+                    break;
+                }
                 cur = cur->next;
             }
             curadr += size;
@@ -361,8 +363,10 @@ static void vhpt_purge(VCPU *v, u64 va, 
         cur = (thash_data_t *)ia64_thash(start);
         tag = ia64_ttag(start);
         while (cur) {
-            if (cur->etag == tag)
+            if (cur->etag == tag) {
                 cur->etag = 1UL << 63; 
+               break;
+           }
             cur = cur->next;
         }
         start += size;

Attachment: ipf-clear1.patch
Description: ipf-clear1.patch

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
<Prev in Thread] Current Thread [Next in Thread>