direct-io.hg
changeset 10806: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>
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 }