ia64/xen-unstable

changeset 6859:6bf96d977ecc

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@intel.com>
author djm@kirby.fc.hp.com
date Thu Sep 15 10:54:16 2005 -0600 (2005-09-15)
parents 8e7df3b10d85
children 9e4fb055be80
files xen/arch/ia64/xen/vcpu.c
line diff
     1.1 --- a/xen/arch/ia64/xen/vcpu.c	Thu Sep 15 10:53:34 2005 -0600
     1.2 +++ b/xen/arch/ia64/xen/vcpu.c	Thu Sep 15 10:54:16 2005 -0600
     1.3 @@ -1721,7 +1721,7 @@ void vcpu_itc_no_srlz(VCPU *vcpu, UINT64
     1.4  	// PAGE_SIZE mapping in the vhpt for now, else purging is complicated
     1.5  	else vhpt_insert(vaddr,pte,PAGE_SHIFT<<2);
     1.6  #endif
     1.7 -	if (IorD & 0x4) return;  // don't place in 1-entry TLB
     1.8 +	if ((mp_pte == -1UL) || (IorD & 0x4)) return;  // don't place in 1-entry TLB
     1.9  	if (IorD & 0x1) {
    1.10  		vcpu_set_tr_entry(&PSCBX(vcpu,itlb),pte,ps<<2,vaddr);
    1.11  		PSCBX(vcpu,itlb_pte) = mp_pte;