ia64/xen-unstable

changeset 10696:000789c36d28

[IA64] do not purge vhpt when emulation itr

It's safe for linux not to purge vhpt when emulating itr,
otherwise there is considerable performance loss

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Zhang xiantao <xiantao.zhang@intel.com>
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
author awilliam@xenbuild.aw
date Wed Jul 12 13:26:09 2006 -0600 (2006-07-12)
parents 6703fed8870f
children 4834d1e8f26e
files xen/arch/ia64/xen/vcpu.c
line diff
     1.1 --- a/xen/arch/ia64/xen/vcpu.c	Wed Jul 12 13:20:15 2006 -0600
     1.2 +++ b/xen/arch/ia64/xen/vcpu.c	Wed Jul 12 13:26:09 2006 -0600
     1.3 @@ -1923,7 +1923,14 @@ IA64FAULT vcpu_itr_d(VCPU *vcpu, UINT64 
     1.4  	vcpu_set_tr_entry(trp,pte,itir,ifa);
     1.5  	vcpu_quick_region_set(PSCBX(vcpu,dtr_regions),ifa);
     1.6  
     1.7 -	vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
     1.8 +	/*
     1.9 +	 * FIXME According to spec, vhpt should be purged, but this
    1.10 +	 * incurs considerable performance loss, since it is safe for
    1.11 +	 * linux not to purge vhpt, vhpt purge is disabled until a
    1.12 +	 * feasible way is found.
    1.13 +	 *
    1.14 +	 * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
    1.15 +	 */
    1.16  
    1.17  	return IA64_NO_FAULT;
    1.18  }
    1.19 @@ -1942,7 +1949,14 @@ IA64FAULT vcpu_itr_i(VCPU *vcpu, UINT64 
    1.20  	vcpu_set_tr_entry(trp,pte,itir,ifa);
    1.21  	vcpu_quick_region_set(PSCBX(vcpu,itr_regions),ifa);
    1.22  
    1.23 -	vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
    1.24 +	/*
    1.25 +	 * FIXME According to spec, vhpt should be purged, but this
    1.26 +	 * incurs considerable performance loss, since it is safe for
    1.27 +	 * linux not to purge vhpt, vhpt purge is disabled until a
    1.28 +	 * feasible way is found.
    1.29 +	 *
    1.30 +	 * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
    1.31 +	 */
    1.32  
    1.33  	return IA64_NO_FAULT;
    1.34  }