aboutsummaryrefslogtreecommitdiffstats
path: root/xen
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-05-14 10:10:54 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-05-14 10:10:54 +0000
commit410b361ff872c0b21cae1e3df58a34a2f2559d8c (patch)
treee8c66275a69ef0c5222046a6a933fa3d787b389b /xen
parentb6ee24aca560d0892d9c88080079e94697bcad4d (diff)
downloadxen-410b361ff872c0b21cae1e3df58a34a2f2559d8c.tar.gz
xen-410b361ff872c0b21cae1e3df58a34a2f2559d8c.tar.bz2
xen-410b361ff872c0b21cae1e3df58a34a2f2559d8c.zip
bitkeeper revision 1.891.1.19 (40a49b2eZfynI3tLUn0NhSwoKrukoA)
IPI counters.
Diffstat (limited to 'xen')
-rw-r--r--xen/arch/i386/smp.c4
-rw-r--r--xen/include/xen/perfc_defn.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/xen/arch/i386/smp.c b/xen/arch/i386/smp.c
index 5ed43d5551..57869c7b77 100644
--- a/xen/arch/i386/smp.c
+++ b/xen/arch/i386/smp.c
@@ -226,6 +226,7 @@ static volatile unsigned long flush_cpumask;
asmlinkage void smp_invalidate_interrupt(void)
{
ack_APIC_irq();
+ perfc_incrc(ipis);
local_flush_tlb();
clear_bit(smp_processor_id(), &flush_cpumask);
}
@@ -419,6 +420,7 @@ void smp_send_stop(void)
asmlinkage void smp_event_check_interrupt(void)
{
ack_APIC_irq();
+ perfc_incrc(ipis);
}
asmlinkage void smp_call_function_interrupt(void)
@@ -428,6 +430,8 @@ asmlinkage void smp_call_function_interrupt(void)
int wait = call_data->wait;
ack_APIC_irq();
+ perfc_incrc(ipis);
+
/*
* Notify initiating CPU that I've grabbed the data and am
* about to execute the function
diff --git a/xen/include/xen/perfc_defn.h b/xen/include/xen/perfc_defn.h
index bf06719e35..850edf96c0 100644
--- a/xen/include/xen/perfc_defn.h
+++ b/xen/include/xen/perfc_defn.h
@@ -1,5 +1,6 @@
PERFCOUNTER_CPU( irqs, "#interrupts" )
+PERFCOUNTER_CPU( ipis, "#IPIs" )
PERFCOUNTER_CPU( irq_time, "cycles spent in irq handler" )
PERFCOUNTER_CPU( apic_timer, "apic timer interrupts" )