Home Home > GIT Browse > SLE15-SP1
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Tesarik <ptesarik@suse.cz>2019-06-07 12:44:54 +0200
committerPetr Tesarik <ptesarik@suse.cz>2019-06-14 17:59:04 +0200
commit2d5e8c43fe3026c1fe0af8c300fdfd77f0939e11 (patch)
treeaa9c46d58b5d33a8d7721581180e45e813621441
parent7c5f06b49747f3c0d1c967d243a5f301d0821270 (diff)
s390/pci: gather statistics for floating vs directed irqs
(jsc#SLE-5789 FATE#327042 bsc#1134730 LTC#173388).
-rw-r--r--patches.arch/s390-pci-gather-statistics-for-floating-vs-directed-irqs70
-rw-r--r--series.conf1
2 files changed, 71 insertions, 0 deletions
diff --git a/patches.arch/s390-pci-gather-statistics-for-floating-vs-directed-irqs b/patches.arch/s390-pci-gather-statistics-for-floating-vs-directed-irqs
new file mode 100644
index 0000000000..46d68ec9f3
--- /dev/null
+++ b/patches.arch/s390-pci-gather-statistics-for-floating-vs-directed-irqs
@@ -0,0 +1,70 @@
+From: Sebastian Ott <sebott@linux.ibm.com>
+Date: Thu, 22 Nov 2018 14:08:33 +0100
+Subject: s390/pci: gather statistics for floating vs directed irqs
+Git-commit: 07e3ec3acb80726f60b7ab924b1b0f1498148b56
+Patch-mainline: v5.2-rc1
+References: jsc#SLE-5789 FATE#327042 bsc#1134730 LTC#173388
+
+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>
+Acked-by: Petr Tesarik <ptesarik@suse.com>
+---
+ arch/s390/include/asm/irq.h | 3 ++-
+ arch/s390/kernel/irq.c | 3 ++-
+ arch/s390/pci/pci_irq.c | 10 ++++++----
+ 3 files changed, 10 insertions(+), 6 deletions(-)
+
+--- a/arch/s390/include/asm/irq.h
++++ b/arch/s390/include/asm/irq.h
+@@ -58,7 +58,8 @@ enum interruption_class {
+ IRQIO_VIR,
+ IRQIO_QAI,
+ IRQIO_APB,
+- IRQIO_PCI,
++ IRQIO_PCF,
++ IRQIO_PCD,
+ IRQIO_MSI,
+ IRQIO_VAI,
+ NMI_NMI,
+--- a/arch/s390/kernel/irq.c
++++ b/arch/s390/kernel/irq.c
+@@ -84,7 +84,8 @@ static const struct irq_class irqclass_s
+ {.irq = IRQIO_VIR, .name = "VIR", .desc = "[I/O] Virtual I/O Devices"},
+ {.irq = IRQIO_QAI, .name = "QAI", .desc = "[AIO] QDIO Adapter Interrupt"},
+ {.irq = IRQIO_APB, .name = "APB", .desc = "[AIO] AP Bus"},
+- {.irq = IRQIO_PCI, .name = "PCI", .desc = "[AIO] PCI Interrupt"},
++ {.irq = IRQIO_PCF, .name = "PCF", .desc = "[AIO] PCI Floating Interrupt"},
++ {.irq = IRQIO_PCD, .name = "PCD", .desc = "[AIO] PCI Directed Interrupt"},
+ {.irq = IRQIO_MSI, .name = "MSI", .desc = "[AIO] MSI Interrupt"},
+ {.irq = IRQIO_VAI, .name = "VAI", .desc = "[AIO] Virtual I/O Devices AI"},
+ {.irq = NMI_NMI, .name = "NMI", .desc = "[NMI] Machine Check"},
+--- a/arch/s390/pci/pci_irq.c
++++ b/arch/s390/pci/pci_irq.c
+@@ -188,11 +188,13 @@ static void zpci_handle_fallback_irq(voi
+
+ 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(st
+ 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));
diff --git a/series.conf b/series.conf
index 99461fb3c2..f2a47d996a 100644
--- a/series.conf
+++ b/series.conf
@@ -46261,6 +46261,7 @@
patches.arch/s390-airq-provide-cacheline-aligned-ivs
patches.arch/s390-pci-provide-support-for-cpu-directed-interrupts
patches.arch/s390-show-statistics-for-msi-irqs
+ patches.arch/s390-pci-gather-statistics-for-floating-vs-directed-irqs
patches.fixes/ACPI-button-reinitialize-button-state-upon-resume.patch
patches.fixes/ACPI-property-restore-_DSD-data-subnodes-GUID-commen.patch
patches.fixes/ACPI-property-fix-handling-of-data_nodes-in-acpi_get.patch