summaryrefslogtreecommitdiff
path: root/arch/s390/pci/pci_irq.c
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.ibm.com>2018-11-22 16:08:33 +0300
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2019-04-29 11:47:01 +0300
commit07e3ec3acb80726f60b7ab924b1b0f1498148b56 (patch)
treee7ab8ada80b4737e72f875b0ac91fcefce76d7f5 /arch/s390/pci/pci_irq.c
parent914b7dd07ee8713c69c31ddb3e19a76852a846ac (diff)
downloadlinux-07e3ec3acb80726f60b7ab924b1b0f1498148b56.tar.xz
s390/pci: gather statistics for floating vs directed irqs
Gather statistics to distinguish floating and directed interrupts. Signed-off-by: Sebastian Ott <sebott@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/pci/pci_irq.c')
-rw-r--r--arch/s390/pci/pci_irq.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/s390/pci/pci_irq.c b/arch/s390/pci/pci_irq.c
index e7e3eab9a2b8..c73ab855a2ca 100644
--- a/arch/s390/pci/pci_irq.c
+++ b/arch/s390/pci/pci_irq.c
@@ -188,11 +188,13 @@ static void zpci_handle_fallback_irq(void)
static void zpci_directed_irq_handler(struct airq_struct *airq, bool floating)
{
- inc_irq_stat(IRQIO_PCI);
- if (floating)
+ if (floating) {
+ inc_irq_stat(IRQIO_PCF);
zpci_handle_fallback_irq();
- else
+ } else {
+ inc_irq_stat(IRQIO_PCD);
zpci_handle_cpu_local_irq(true);
+ }
}
static void zpci_floating_irq_handler(struct airq_struct *airq, bool floating)
@@ -201,7 +203,7 @@ static void zpci_floating_irq_handler(struct airq_struct *airq, bool floating)
struct airq_iv *aibv;
int irqs_on = 0;
- inc_irq_stat(IRQIO_PCI);
+ inc_irq_stat(IRQIO_PCF);
for (si = 0;;) {
/* Scan adapter summary indicator bit vector */
si = airq_iv_scan(zpci_sbv, si, airq_iv_end(zpci_sbv));