summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2013-01-02 16:54:12 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-01-08 10:57:07 +0100
commit93f3b2ee0abff5438e74cc90cf816429248cc8eb (patch)
treed637ecbd55415b1e4fbc18122393b033febdf70c
parents390/irq: remove split irq fields from /proc/stat (diff)
downloadlinux-93f3b2ee0abff5438e74cc90cf816429248cc8eb.tar.xz
linux-93f3b2ee0abff5438e74cc90cf816429248cc8eb.zip
s390/irq: count cpu restart events
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>
-rw-r--r--arch/s390/include/asm/irq.h1
-rw-r--r--arch/s390/kernel/irq.c1
-rw-r--r--arch/s390/kernel/smp.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/include/asm/irq.h b/arch/s390/include/asm/irq.h
index c98dcac70ae0..7def77302d63 100644
--- a/arch/s390/include/asm/irq.h
+++ b/arch/s390/include/asm/irq.h
@@ -42,6 +42,7 @@ enum interruption_class {
IRQIO_PCI,
IRQIO_MSI,
NMI_NMI,
+ CPU_RST,
NR_ARCH_IRQS
};
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c
index 5f5462447aff..9df824ea1667 100644
--- a/arch/s390/kernel/irq.c
+++ b/arch/s390/kernel/irq.c
@@ -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"},
};
/*
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 4a36d5b5e4c9..7433a2f9e5cc 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -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();