[S390] irq: have detailed statistics for interrupt types
Up to now /proc/interrupts only has statistics for external and i/o interrupts but doesn't split up them any further. This patch adds a line for every single interrupt source so that it is possible to easier tell what the machine is/was doing. Part of the output now looks like this; CPU0 CPU2 CPU4 EXT: 3898 4232 2305 I/O: 782 315 245 CLK: 1029 1964 727 [EXT] Clock Comparator IPI: 2868 2267 1577 [EXT] Signal Processor TMR: 0 0 0 [EXT] CPU Timer TAL: 0 0 0 [EXT] Timing Alert PFL: 0 0 0 [EXT] Pseudo Page Fault [...] NMI: 0 1 1 [NMI] Machine Checks Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:

committed by
Martin Schwidefsky

parent
545b288dcb
commit
052ff461c8
@@ -7,6 +7,7 @@
|
||||
* Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
*/
|
||||
|
||||
#include <linux/kernel_stat.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/spinlock.h>
|
||||
@@ -18,8 +19,9 @@
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/completion.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <asm/types.h>
|
||||
#include <asm/s390_ext.h>
|
||||
#include <asm/types.h>
|
||||
#include <asm/irq.h>
|
||||
|
||||
#include "sclp.h"
|
||||
|
||||
@@ -402,6 +404,7 @@ static void sclp_interrupt_handler(unsigned int ext_int_code,
|
||||
u32 finished_sccb;
|
||||
u32 evbuf_pending;
|
||||
|
||||
kstat_cpu(smp_processor_id()).irqs[EXTINT_SCP]++;
|
||||
spin_lock(&sclp_lock);
|
||||
finished_sccb = param32 & 0xfffffff8;
|
||||
evbuf_pending = param32 & 0x3;
|
||||
@@ -824,6 +827,7 @@ static void sclp_check_handler(unsigned int ext_int_code,
|
||||
{
|
||||
u32 finished_sccb;
|
||||
|
||||
kstat_cpu(smp_processor_id()).irqs[EXTINT_SCP]++;
|
||||
finished_sccb = param32 & 0xfffffff8;
|
||||
/* Is this the interrupt we are waiting for? */
|
||||
if (finished_sccb == 0)
|
||||
|
Reference in New Issue
Block a user