]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[S390] oprofile: add missing irq stats counter
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 23 May 2011 08:24:48 +0000 (10:24 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 23 May 2011 08:24:32 +0000 (10:24 +0200)
Count CPU measurement external interrupts as well.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/include/asm/irq.h
arch/s390/kernel/irq.c
arch/s390/oprofile/hwsampler.c

index db14a311f1d21d2c03c8d093c5c55220c71c18b2..1544b90bd6d610a4cdb51cfe8ef6c1c38afb739f 100644 (file)
@@ -15,6 +15,7 @@ enum interruption_class {
        EXTINT_VRT,
        EXTINT_SCP,
        EXTINT_IUC,
+       EXTINT_CPM,
        IOINT_QAI,
        IOINT_QDI,
        IOINT_DAS,
index ea5099c9709c1213cc16f7b5ab2fc8a74372de09..e204f9597aafa1df6fd51fe3a971ff41b3272f3d 100644 (file)
@@ -32,6 +32,7 @@ static const struct irq_class intrclass_names[] = {
        {.name = "VRT", .desc = "[EXT] Virtio" },
        {.name = "SCP", .desc = "[EXT] Service Call" },
        {.name = "IUC", .desc = "[EXT] IUCV" },
+       {.name = "CPM", .desc = "[EXT] CPU Measurement" },
        {.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" },
        {.name = "QDI", .desc = "[I/O] QDIO Interrupt" },
        {.name = "DAS", .desc = "[I/O] DASD" },
index 8e686bfe29591550a62fffdc7916fa9048c2bc72..cb4338ccbf7bd339b3ac8101207189e92703a4dc 100644 (file)
@@ -5,6 +5,7 @@
  * Author: Heinz Graalfs <graalfs@de.ibm.com>
  */
 
+#include <linux/kernel_stat.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/smp.h>
@@ -677,6 +678,7 @@ static void hws_ext_handler(unsigned int ext_int_code,
        int cpu;
        struct hws_cpu_buffer *cb;
 
+       kstat_cpu(smp_processor_id()).irqs[EXTINT_CPM]++;
        cpu = smp_processor_id();
        cb = &per_cpu(sampler_cpu_buffer, cpu);