# HG changeset patch
# User djm@xxxxxxxxxxxxxxx
# Node ID 6bf96d977ecc6b65f9c9b08ff0aace51fb37d9da
# Parent 8e7df3b10d85bd78b81d6dba78631cbeb288a893
This patch fixes a severe bug in vtlb, where domU may face machine crash
intermittently. Normally in page fault handler, the entry hit in vtlb shouldn't
be injected back to vtlb again, not to say meaningless -1UL. After this fix,
vtlb hit ratio also improves since guest svhpt entry may live longer.
Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx>
diff -r 8e7df3b10d85 -r 6bf96d977ecc xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c Thu Sep 15 16:53:34 2005
+++ b/xen/arch/ia64/xen/vcpu.c Thu Sep 15 16:54:16 2005
@@ -1721,7 +1721,7 @@
// PAGE_SIZE mapping in the vhpt for now, else purging is complicated
else vhpt_insert(vaddr,pte,PAGE_SHIFT<<2);
#endif
- if (IorD & 0x4) return; // don't place in 1-entry TLB
+ if ((mp_pte == -1UL) || (IorD & 0x4)) return; // don't place in
1-entry TLB
if (IorD & 0x1) {
vcpu_set_tr_entry(&PSCBX(vcpu,itlb),pte,ps<<2,vaddr);
PSCBX(vcpu,itlb_pte) = mp_pte;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|