# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 000789c36d289225fcce7ecee290ae7b3d808058
# Parent 6703fed8870fa312b08edbf884d31a80473ee54b
[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@xxxxxxxxxxxxx>
Signed-off-by: Zhang xiantao <xiantao.zhang@xxxxxxxxx>
Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx>
---
xen/arch/ia64/xen/vcpu.c | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diff -r 6703fed8870f -r 000789c36d28 xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c Wed Jul 12 13:20:15 2006 -0600
+++ b/xen/arch/ia64/xen/vcpu.c Wed Jul 12 13:26:09 2006 -0600
@@ -1923,7 +1923,14 @@ IA64FAULT vcpu_itr_d(VCPU *vcpu, UINT64
vcpu_set_tr_entry(trp,pte,itir,ifa);
vcpu_quick_region_set(PSCBX(vcpu,dtr_regions),ifa);
- vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
+ /*
+ * FIXME According to spec, vhpt should be purged, but this
+ * incurs considerable performance loss, since it is safe for
+ * linux not to purge vhpt, vhpt purge is disabled until a
+ * feasible way is found.
+ *
+ * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
+ */
return IA64_NO_FAULT;
}
@@ -1942,7 +1949,14 @@ IA64FAULT vcpu_itr_i(VCPU *vcpu, UINT64
vcpu_set_tr_entry(trp,pte,itir,ifa);
vcpu_quick_region_set(PSCBX(vcpu,itr_regions),ifa);
- vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
+ /*
+ * FIXME According to spec, vhpt should be purged, but this
+ * incurs considerable performance loss, since it is safe for
+ * linux not to purge vhpt, vhpt purge is disabled until a
+ * feasible way is found.
+ *
+ * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
+ */
return IA64_NO_FAULT;
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|