[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] add perfcounter for vTLB flush.
# HG changeset patch # User awilliam@xxxxxxxxxxx # Node ID 3f28ffed6ffff97c4f314c8bf91cf77dc85f396d # Parent a3a079af0e92f7e16fe6cb3b39c3a189a3e5c46a [IA64] add perfcounter for vTLB flush. Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> --- xen/arch/ia64/xen/domain.c | 1 + xen/arch/ia64/xen/vhpt.c | 5 +++++ xen/include/asm-ia64/perfc_defn.h | 9 +++++++++ 3 files changed, 15 insertions(+) diff -r a3a079af0e92 -r 3f28ffed6fff xen/arch/ia64/xen/domain.c --- a/xen/arch/ia64/xen/domain.c Mon Oct 02 21:32:46 2006 -0600 +++ b/xen/arch/ia64/xen/domain.c Mon Oct 02 21:34:47 2006 -0600 @@ -101,6 +101,7 @@ static void flush_vtlb_for_context_switc vhpt_flush(); } local_flush_tlb_all(); + perfc_incrc(flush_vtlb_for_context_switch); } } diff -r a3a079af0e92 -r 3f28ffed6fff xen/arch/ia64/xen/vhpt.c --- a/xen/arch/ia64/xen/vhpt.c Mon Oct 02 21:32:46 2006 -0600 +++ b/xen/arch/ia64/xen/vhpt.c Mon Oct 02 21:34:47 2006 -0600 @@ -155,6 +155,8 @@ void vcpu_flush_vtlb_all(struct vcpu *v) /* We could clear bit in d->domain_dirty_cpumask only if domain d in not running on this processor. There is currently no easy way to check this. */ + + perfc_incrc(vcpu_flush_vtlb_all); } static void __vcpu_flush_vtlb_all(void *vcpu) @@ -178,6 +180,7 @@ void domain_flush_vtlb_all (void) __vcpu_flush_vtlb_all, v, 1, 1); } + perfc_incrc(domain_flush_vtlb_all); } static void cpu_flush_vhpt_range (int cpu, u64 vadr, u64 addr_range) @@ -200,6 +203,7 @@ void vcpu_flush_tlb_vhpt_range (u64 vadr cpu_flush_vhpt_range (current->processor, vadr, 1UL << log_range); ia64_ptcl(vadr, log_range << 2); ia64_srlz_i(); + perfc_incrc(vcpu_flush_tlb_vhpt_range); } void domain_flush_vtlb_range (struct domain *d, u64 vadr, u64 addr_range) @@ -236,6 +240,7 @@ void domain_flush_vtlb_range (struct dom /* ptc.ga */ ia64_global_tlb_purge(vadr,vadr+addr_range,PAGE_SHIFT); + perfc_incrc(domain_flush_vtlb_range); } static void flush_tlb_vhpt_all (struct domain *d) diff -r a3a079af0e92 -r 3f28ffed6fff xen/include/asm-ia64/perfc_defn.h --- a/xen/include/asm-ia64/perfc_defn.h Mon Oct 02 21:32:46 2006 -0600 +++ b/xen/include/asm-ia64/perfc_defn.h Mon Oct 02 21:34:47 2006 -0600 @@ -107,3 +107,12 @@ PERFPRIVOPADDR(get_ifa) PERFPRIVOPADDR(get_ifa) PERFPRIVOPADDR(thash) #endif + +// vhpt.c +PERFCOUNTER_CPU(vcpu_flush_vtlb_all, "vcpu_flush_vtlb_all") +PERFCOUNTER_CPU(domain_flush_vtlb_all, "domain_flush_vtlb_all") +PERFCOUNTER_CPU(vcpu_flush_tlb_vhpt_range, "vcpu_flush_tlb_vhpt_range") +PERFCOUNTER_CPU(domain_flush_vtlb_range, "domain_flush_vtlb_range") + +// domain.c +PERFCOUNTER_CPU(flush_vtlb_for_context_switch, "flush_vtlb_for_context_switch") _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |