s390/irq: count cpu restart events
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 2 Jan 2013 15:54:12 +0000 (16:54 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 8 Jan 2013 09:57:07 +0000 (10:57 +0100)
Count CPU Restart events and make them visible via /proc/interrupts.
Every CPU hotplug (online) event will increase the per cpu counter.

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

index c98dcac..7def773 100644 (file)
@@ -42,6 +42,7 @@ enum interruption_class {
        IRQIO_PCI,
        IRQIO_MSI,
        NMI_NMI,
+       CPU_RST,
        NR_ARCH_IRQS
 };
 
index 5f54624..9df824e 100644 (file)
@@ -82,6 +82,7 @@ static const struct irq_class irqclass_sub_desc[NR_ARCH_IRQS] = {
        [IRQIO_PCI]  = {.name = "PCI", .desc = "[I/O] PCI Interrupt" },
        [IRQIO_MSI]  = {.name = "MSI", .desc = "[I/O] MSI Interrupt" },
        [NMI_NMI]    = {.name = "NMI", .desc = "[NMI] Machine Check"},
+       [CPU_RST]    = {.name = "RST", .desc = "[CPU] CPU Restart"},
 };
 
 /*
index 4a36d5b..7433a2f 100644 (file)
@@ -709,6 +709,7 @@ static void __cpuinit smp_start_secondary(void *cpuvoid)
        pfault_init();
        notify_cpu_starting(smp_processor_id());
        set_cpu_online(smp_processor_id(), true);
+       inc_irq_stat(CPU_RST);
        local_irq_enable();
        /* cpu_idle will call schedule for us */
        cpu_idle();