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/
Home Products Support Community News


[Xen-ia64-devel] [PATCH] Fix severe vtlb BUG which made domU crash rando

To: <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-ia64-devel] [PATCH] Fix severe vtlb BUG which made domU crash randomly
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Date: Thu, 15 Sep 2005 18:21:07 +0800
Delivery-date: Thu, 15 Sep 2005 10:18:50 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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: AcW53y81Gq7TyxJfTdOCLA6Ykyxvfw==
Thread-topic: [PATCH] Fix severe vtlb BUG which made domU crash randomly
When I was debugging domU, machine crash often occurred when domU is
detecting IDE disk (need disable later with different config file for
xen0/xenU) which preventing further progress. After some investigation,
the root cause is that page fault handler invokes vcpu_itc_no_srlz with
5th param (guest pte) to be (-1UL). However there's no detection upon
such deliberate value in vcpu_itc_no_srlz, which thus updates (-1UL)
into copy of guest pte (vcpu->arch.dtlb_pte). 

However match_dtlb only checks machine pte (vcpu->arch.dtlb) which is
still valid. Once this entry is hit in next page fault handler, (-1UL)
will be returned as the guest pte value and later translation for
machine pfn failed.

I think this can explain why Dan saw dom0 unstable after my previous
vtlb fix. Then after Dan pushed out a temporary solution for dom0, the
issue was left only to domU. I'm not sure why the phenomenon related to
this reason didn't occur to me previously, but big merges in the middle
may be the cause. John, maybe you can make a try since you saw domU
crash for a long time (But has to be upon your previous Rev). ;-)

A side effect of this change is that vtlb can be hit more frequently
than before. I didn't remove the print line after match_dtlb, and you
can see it occurring more. The possible reason is that guest svhpt entry
will live longer now.

(BTW, this fix doesn't bring domU up, and blkfront still failed to
connect. But it can provide a pretty stable/reproducible env now.)


Attachment: hg_0915_fix_vtlb
Description: hg_0915_fix_vtlb

Xen-ia64-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-ia64-devel] [PATCH] Fix severe vtlb BUG which made domU crash randomly, Tian, Kevin <=