All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
To: linux-kernel@vger.kernel.org
Cc: mark.rutland@arm.com, alexander.shishkin@linux.intel.com,
	jolsa@redhat.com, namhyung@kernel.org, catalin.marinas@arm.com,
	will@kernel.org, msalter@redhat.com, jacquiot.aurelien@gmail.com,
	gerg@linux-m68k.org, geert@linux-m68k.org,
	tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com,
	deller@gmx.de, benh@kernel.crashing.org, paulus@samba.org,
	ysato@users.sourceforge.jp, dalias@libc.org, davem@davemloft.net,
	tglx@linutronix.de, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	linus.walleij@linaro.org, bgolaszewski@baylibre.com,
	maz@kernel.org, tony@atomide.com, arnd@arndb.de,
	linux-alpha@vger.kernel.org, linux-c6x-dev@linux-c6x.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-gpio@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-arch@vger.kernel.org
Subject: [PATCH 14/23] kernel: generic counter for interrupt errors
Date: Fri, 18 Dec 2020 15:31:13 +0100	[thread overview]
Message-ID: <20201218143122.19459-15-info@metux.net> (raw)
In-Reply-To: <20201218143122.19459-1-info@metux.net>

We currently have counters for spurious interrupt spread over all the
individual architectures. Mostly done in the arch's ack_bad_irq(),
sometimes also in arch specific drivers.

It's time to consolidate this code duplication:

  * introduce a global counter and inlined accessors
  * increase the counter in all call sites of ack_bad_irq()
  * subsequent patches will transform the individual archs one by one

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
---
 include/asm-generic/irq-err.h | 17 +++++++++++++++++
 kernel/irq/dummychip.c        |  2 ++
 kernel/irq/handle.c           |  4 ++++
 kernel/irq/irqdesc.c          |  2 ++
 4 files changed, 25 insertions(+)
 create mode 100644 include/asm-generic/irq-err.h

diff --git a/include/asm-generic/irq-err.h b/include/asm-generic/irq-err.h
new file mode 100644
index 000000000000..33c75eb50c10
--- /dev/null
+++ b/include/asm-generic/irq-err.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_GENERIC_IRQ_ERR_H
+#define __ASM_GENERIC_IRQ_ERR_H
+
+extern atomic_t irq_err_counter;
+
+static inline void irq_err_inc(void)
+{
+	atomic_inc(&irq_err_counter);
+}
+
+static inline int irq_err_get(void)
+{
+	return atomic_read(&irq_err_counter);
+}
+
+#endif /* __ASM_GENERIC_IRQ_ERR_H */
diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c
index 0b0cdf206dc4..93585dab9bd0 100644
--- a/kernel/irq/dummychip.c
+++ b/kernel/irq/dummychip.c
@@ -8,6 +8,7 @@
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/export.h>
+#include <asm-generic/irq-err.h>
 
 #include "internals.h"
 
@@ -20,6 +21,7 @@ static void ack_bad(struct irq_data *data)
 	struct irq_desc *desc = irq_data_to_desc(data);
 
 	print_irq_desc(data->irq, desc);
+	irq_err_inc();
 	ack_bad_irq(data->irq);
 }
 
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index 762a928e18f9..ad90f5a56c3a 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -13,11 +13,14 @@
 #include <linux/sched.h>
 #include <linux/interrupt.h>
 #include <linux/kernel_stat.h>
+#include <asm-generic/irq-err.h>
 
 #include <trace/events/irq.h>
 
 #include "internals.h"
 
+atomic_t irq_err_counter;
+
 #ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
 void (*handle_arch_irq)(struct pt_regs *) __ro_after_init;
 #endif
@@ -34,6 +37,7 @@ void handle_bad_irq(struct irq_desc *desc)
 
 	print_irq_desc(irq, desc);
 	kstat_incr_irqs_this_cpu(desc);
+	irq_err_inc();
 	ack_bad_irq(irq);
 }
 EXPORT_SYMBOL_GPL(handle_bad_irq);
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 62a381351775..6192672be4d2 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -16,6 +16,7 @@
 #include <linux/bitmap.h>
 #include <linux/irqdomain.h>
 #include <linux/sysfs.h>
+#include <asm-generic/irq-err.h>
 
 #include "internals.h"
 
@@ -684,6 +685,7 @@ int __handle_domain_irq(struct irq_domain *domain, unsigned int hwirq,
 		if (printk_ratelimit())
 			pr_warn("spurious IRQ: irq=%d hwirq=%d nr_irqs=%d\n",
 				irq, hwirq, nr_irqs);
+		irq_err_inc();
 		ack_bad_irq(irq);
 		ret = -EINVAL;
 	} else {
-- 
2.11.0


WARNING: multiple messages have this Message-ID (diff)
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
To: linux-kernel@vger.kernel.org
Cc: mark.rutland@arm.com, alexander.shishkin@linux.intel.com,
	jolsa@redhat.com, namhyung@kernel.org, catalin.marinas@arm.com,
	will@kernel.org, msalter@redhat.com, jacquiot.aurelien@gmail.com,
	gerg@linux-m68k.org, geert@linux-m68k.org,
	tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com,
	deller@gmx.de, benh@kernel.crashing.org, paulus@samba.org,
	ysato@users.sourceforge.jp, dalias@libc.org, davem@davemloft.net,
	tglx@linutronix.de, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	linus.walleij@linaro.org, bgolaszewski@baylibre.com,
	maz@kernel.org, tony@atomide.com, arnd@arndb.de,
	linux-alpha@vger.kernel.org, linux-c6x-dev@linux-c6x.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-gpio@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-arch@vger.kernel.org
Subject: [PATCH 14/23] kernel: generic counter for interrupt errors
Date: Fri, 18 Dec 2020 14:31:13 +0000	[thread overview]
Message-ID: <20201218143122.19459-15-info@metux.net> (raw)
In-Reply-To: <20201218143122.19459-1-info@metux.net>

We currently have counters for spurious interrupt spread over all the
individual architectures. Mostly done in the arch's ack_bad_irq(),
sometimes also in arch specific drivers.

It's time to consolidate this code duplication:

  * introduce a global counter and inlined accessors
  * increase the counter in all call sites of ack_bad_irq()
  * subsequent patches will transform the individual archs one by one

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
---
 include/asm-generic/irq-err.h | 17 +++++++++++++++++
 kernel/irq/dummychip.c        |  2 ++
 kernel/irq/handle.c           |  4 ++++
 kernel/irq/irqdesc.c          |  2 ++
 4 files changed, 25 insertions(+)
 create mode 100644 include/asm-generic/irq-err.h

diff --git a/include/asm-generic/irq-err.h b/include/asm-generic/irq-err.h
new file mode 100644
index 000000000000..33c75eb50c10
--- /dev/null
+++ b/include/asm-generic/irq-err.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_GENERIC_IRQ_ERR_H
+#define __ASM_GENERIC_IRQ_ERR_H
+
+extern atomic_t irq_err_counter;
+
+static inline void irq_err_inc(void)
+{
+	atomic_inc(&irq_err_counter);
+}
+
+static inline int irq_err_get(void)
+{
+	return atomic_read(&irq_err_counter);
+}
+
+#endif /* __ASM_GENERIC_IRQ_ERR_H */
diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c
index 0b0cdf206dc4..93585dab9bd0 100644
--- a/kernel/irq/dummychip.c
+++ b/kernel/irq/dummychip.c
@@ -8,6 +8,7 @@
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/export.h>
+#include <asm-generic/irq-err.h>
 
 #include "internals.h"
 
@@ -20,6 +21,7 @@ static void ack_bad(struct irq_data *data)
 	struct irq_desc *desc = irq_data_to_desc(data);
 
 	print_irq_desc(data->irq, desc);
+	irq_err_inc();
 	ack_bad_irq(data->irq);
 }
 
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index 762a928e18f9..ad90f5a56c3a 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -13,11 +13,14 @@
 #include <linux/sched.h>
 #include <linux/interrupt.h>
 #include <linux/kernel_stat.h>
+#include <asm-generic/irq-err.h>
 
 #include <trace/events/irq.h>
 
 #include "internals.h"
 
+atomic_t irq_err_counter;
+
 #ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
 void (*handle_arch_irq)(struct pt_regs *) __ro_after_init;
 #endif
@@ -34,6 +37,7 @@ void handle_bad_irq(struct irq_desc *desc)
 
 	print_irq_desc(irq, desc);
 	kstat_incr_irqs_this_cpu(desc);
+	irq_err_inc();
 	ack_bad_irq(irq);
 }
 EXPORT_SYMBOL_GPL(handle_bad_irq);
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 62a381351775..6192672be4d2 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -16,6 +16,7 @@
 #include <linux/bitmap.h>
 #include <linux/irqdomain.h>
 #include <linux/sysfs.h>
+#include <asm-generic/irq-err.h>
 
 #include "internals.h"
 
@@ -684,6 +685,7 @@ int __handle_domain_irq(struct irq_domain *domain, unsigned int hwirq,
 		if (printk_ratelimit())
 			pr_warn("spurious IRQ: irq=%d hwirq=%d nr_irqs=%d\n",
 				irq, hwirq, nr_irqs);
+		irq_err_inc();
 		ack_bad_irq(irq);
 		ret = -EINVAL;
 	} else {
-- 
2.11.0

WARNING: multiple messages have this Message-ID (diff)
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
To: linux-kernel@vger.kernel.org
Cc: mark.rutland@arm.com, dalias@libc.org,
	linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
	alexander.shishkin@linux.intel.com, linus.walleij@linaro.org,
	James.Bottomley@HansenPartnership.com, paulus@samba.org,
	hpa@zytor.com, sparclinux@vger.kernel.org, will@kernel.org,
	gerg@linux-m68k.org, linux-arch@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-c6x-dev@linux-c6x.org,
	ysato@users.sourceforge.jp, jolsa@redhat.com, deller@gmx.de,
	x86@kernel.org, bgolaszewski@baylibre.com, tony@atomide.com,
	geert@linux-m68k.org, catalin.marinas@arm.com,
	linux-alpha@vger.kernel.org, arnd@arndb.de, msalter@redhat.com,
	jacquiot.aurelien@gmail.com, linux-gpio@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org, bp@alien8.de,
	namhyung@kernel.org, tglx@linutronix.de,
	linux-omap@vger.kernel.org, tsbogend@alpha.franken.de,
	linux-parisc@vger.kernel.org, linux-mips@vger.kernel.org,
	maz@kernel.org, linuxppc-dev@lists.ozlabs.org,
	davem@davemloft.net
Subject: [PATCH 14/23] kernel: generic counter for interrupt errors
Date: Fri, 18 Dec 2020 15:31:13 +0100	[thread overview]
Message-ID: <20201218143122.19459-15-info@metux.net> (raw)
In-Reply-To: <20201218143122.19459-1-info@metux.net>

We currently have counters for spurious interrupt spread over all the
individual architectures. Mostly done in the arch's ack_bad_irq(),
sometimes also in arch specific drivers.

It's time to consolidate this code duplication:

  * introduce a global counter and inlined accessors
  * increase the counter in all call sites of ack_bad_irq()
  * subsequent patches will transform the individual archs one by one

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
---
 include/asm-generic/irq-err.h | 17 +++++++++++++++++
 kernel/irq/dummychip.c        |  2 ++
 kernel/irq/handle.c           |  4 ++++
 kernel/irq/irqdesc.c          |  2 ++
 4 files changed, 25 insertions(+)
 create mode 100644 include/asm-generic/irq-err.h

diff --git a/include/asm-generic/irq-err.h b/include/asm-generic/irq-err.h
new file mode 100644
index 000000000000..33c75eb50c10
--- /dev/null
+++ b/include/asm-generic/irq-err.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_GENERIC_IRQ_ERR_H
+#define __ASM_GENERIC_IRQ_ERR_H
+
+extern atomic_t irq_err_counter;
+
+static inline void irq_err_inc(void)
+{
+	atomic_inc(&irq_err_counter);
+}
+
+static inline int irq_err_get(void)
+{
+	return atomic_read(&irq_err_counter);
+}
+
+#endif /* __ASM_GENERIC_IRQ_ERR_H */
diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c
index 0b0cdf206dc4..93585dab9bd0 100644
--- a/kernel/irq/dummychip.c
+++ b/kernel/irq/dummychip.c
@@ -8,6 +8,7 @@
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/export.h>
+#include <asm-generic/irq-err.h>
 
 #include "internals.h"
 
@@ -20,6 +21,7 @@ static void ack_bad(struct irq_data *data)
 	struct irq_desc *desc = irq_data_to_desc(data);
 
 	print_irq_desc(data->irq, desc);
+	irq_err_inc();
 	ack_bad_irq(data->irq);
 }
 
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index 762a928e18f9..ad90f5a56c3a 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -13,11 +13,14 @@
 #include <linux/sched.h>
 #include <linux/interrupt.h>
 #include <linux/kernel_stat.h>
+#include <asm-generic/irq-err.h>
 
 #include <trace/events/irq.h>
 
 #include "internals.h"
 
+atomic_t irq_err_counter;
+
 #ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
 void (*handle_arch_irq)(struct pt_regs *) __ro_after_init;
 #endif
@@ -34,6 +37,7 @@ void handle_bad_irq(struct irq_desc *desc)
 
 	print_irq_desc(irq, desc);
 	kstat_incr_irqs_this_cpu(desc);
+	irq_err_inc();
 	ack_bad_irq(irq);
 }
 EXPORT_SYMBOL_GPL(handle_bad_irq);
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 62a381351775..6192672be4d2 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -16,6 +16,7 @@
 #include <linux/bitmap.h>
 #include <linux/irqdomain.h>
 #include <linux/sysfs.h>
+#include <asm-generic/irq-err.h>
 
 #include "internals.h"
 
@@ -684,6 +685,7 @@ int __handle_domain_irq(struct irq_domain *domain, unsigned int hwirq,
 		if (printk_ratelimit())
 			pr_warn("spurious IRQ: irq=%d hwirq=%d nr_irqs=%d\n",
 				irq, hwirq, nr_irqs);
+		irq_err_inc();
 		ack_bad_irq(irq);
 		ret = -EINVAL;
 	} else {
-- 
2.11.0


WARNING: multiple messages have this Message-ID (diff)
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
To: linux-kernel@vger.kernel.org
Cc: mark.rutland@arm.com, alexander.shishkin@linux.intel.com,
	jolsa@redhat.com, namhyung@kernel.org, catalin.marinas@arm.com,
	will@kernel.org, msalter@redhat.com, jacquiot.aurelien@gmail.com,
	gerg@linux-m68k.org, geert@linux-m68k.org,
	tsbogend@alpha.franken.de, James.Bottomley@HansenPartnership.com,
	deller@gmx.de, benh@kernel.crashing.org, paulus@samba.org,
	ysato@users.sourceforge.jp, dalias@libc.org, davem@davemloft.net,
	tglx@linutronix.de, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	linus.walleij@linaro.org, bgolaszewski@baylibre.com,
	maz@kernel.org, tony@atomide.com, arnd@arndb.de,
	linux-alpha@vger.kernel.org, linux-c6x-dev@linux-c6x.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.
Subject: [PATCH 14/23] kernel: generic counter for interrupt errors
Date: Fri, 18 Dec 2020 15:31:13 +0100	[thread overview]
Message-ID: <20201218143122.19459-15-info@metux.net> (raw)
In-Reply-To: <20201218143122.19459-1-info@metux.net>

We currently have counters for spurious interrupt spread over all the
individual architectures. Mostly done in the arch's ack_bad_irq(),
sometimes also in arch specific drivers.

It's time to consolidate this code duplication:

  * introduce a global counter and inlined accessors
  * increase the counter in all call sites of ack_bad_irq()
  * subsequent patches will transform the individual archs one by one

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
---
 include/asm-generic/irq-err.h | 17 +++++++++++++++++
 kernel/irq/dummychip.c        |  2 ++
 kernel/irq/handle.c           |  4 ++++
 kernel/irq/irqdesc.c          |  2 ++
 4 files changed, 25 insertions(+)
 create mode 100644 include/asm-generic/irq-err.h

diff --git a/include/asm-generic/irq-err.h b/include/asm-generic/irq-err.h
new file mode 100644
index 000000000000..33c75eb50c10
--- /dev/null
+++ b/include/asm-generic/irq-err.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_GENERIC_IRQ_ERR_H
+#define __ASM_GENERIC_IRQ_ERR_H
+
+extern atomic_t irq_err_counter;
+
+static inline void irq_err_inc(void)
+{
+	atomic_inc(&irq_err_counter);
+}
+
+static inline int irq_err_get(void)
+{
+	return atomic_read(&irq_err_counter);
+}
+
+#endif /* __ASM_GENERIC_IRQ_ERR_H */
diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c
index 0b0cdf206dc4..93585dab9bd0 100644
--- a/kernel/irq/dummychip.c
+++ b/kernel/irq/dummychip.c
@@ -8,6 +8,7 @@
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/export.h>
+#include <asm-generic/irq-err.h>
 
 #include "internals.h"
 
@@ -20,6 +21,7 @@ static void ack_bad(struct irq_data *data)
 	struct irq_desc *desc = irq_data_to_desc(data);
 
 	print_irq_desc(data->irq, desc);
+	irq_err_inc();
 	ack_bad_irq(data->irq);
 }
 
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index 762a928e18f9..ad90f5a56c3a 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -13,11 +13,14 @@
 #include <linux/sched.h>
 #include <linux/interrupt.h>
 #include <linux/kernel_stat.h>
+#include <asm-generic/irq-err.h>
 
 #include <trace/events/irq.h>
 
 #include "internals.h"
 
+atomic_t irq_err_counter;
+
 #ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
 void (*handle_arch_irq)(struct pt_regs *) __ro_after_init;
 #endif
@@ -34,6 +37,7 @@ void handle_bad_irq(struct irq_desc *desc)
 
 	print_irq_desc(irq, desc);
 	kstat_incr_irqs_this_cpu(desc);
+	irq_err_inc();
 	ack_bad_irq(irq);
 }
 EXPORT_SYMBOL_GPL(handle_bad_irq);
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 62a381351775..6192672be4d2 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -16,6 +16,7 @@
 #include <linux/bitmap.h>
 #include <linux/irqdomain.h>
 #include <linux/sysfs.h>
+#include <asm-generic/irq-err.h>
 
 #include "internals.h"
 
@@ -684,6 +685,7 @@ int __handle_domain_irq(struct irq_domain *domain, unsigned int hwirq,
 		if (printk_ratelimit())
 			pr_warn("spurious IRQ: irq=%d hwirq=%d nr_irqs=%d\n",
 				irq, hwirq, nr_irqs);
+		irq_err_inc();
 		ack_bad_irq(irq);
 		ret = -EINVAL;
 	} else {
-- 
2.11.0


  parent reply	other threads:[~2020-12-18 14:36 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-18 14:30 cleanup handling of bad IRQs Enrico Weigelt, metux IT consult
2020-12-18 14:30 ` Enrico Weigelt, metux IT consult
2020-12-18 14:30 ` Enrico Weigelt, metux IT consult
2020-12-18 14:30 ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 01/23] kernel: irq: irqdescs: warn on spurious IRQ Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 15:55   ` Andy Shevchenko
2020-12-18 15:55     ` Andy Shevchenko
2020-12-18 15:55     ` Andy Shevchenko
2020-12-18 15:55     ` Andy Shevchenko
2020-12-18 15:55     ` Andy Shevchenko
2020-12-21  5:44     ` Michael Ellerman
2020-12-21  5:44       ` Michael Ellerman
2020-12-21  5:44       ` Michael Ellerman
2020-12-21  5:44       ` Michael Ellerman
2020-12-21  5:44       ` Michael Ellerman
2020-12-21  9:27       ` Andy Shevchenko
2020-12-21  9:27         ` Andy Shevchenko
2020-12-21  9:27         ` Andy Shevchenko
2020-12-21  9:27         ` Andy Shevchenko
2020-12-21  9:27         ` Andy Shevchenko
2020-12-18 14:31 ` [PATCH 02/23] arch: alpha: drop misleading warning " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 03/23] arch: arm: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 04/23] arch: c6x: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 05/23] arch: ia64: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 06/23] arch: mips: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 07/23] arch: parisc: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 08/23] arch: powerpc: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 09/23] arch: s390: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 10/23] arch: sh: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 11/23] arch: sparc: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 12/23] arch: x86: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 13/23] arch: generic: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` Enrico Weigelt, metux IT consult [this message]
2020-12-18 14:31   ` [PATCH 14/23] kernel: generic counter for interrupt errors Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 15/23] arch: mips: use generic irq error counter Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 16/23] arch: alpha: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 17/23] arch: arm: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 18/23] arch: arm64: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31 ` [PATCH 19/23] arch: c6x: " Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:31   ` Enrico Weigelt, metux IT consult
2020-12-18 14:57 (repost) cleaning up handling of bad IRQs Enrico Weigelt, metux IT consult
2020-12-18 14:57 ` [PATCH 14/23] kernel: generic counter for interrupt errors Enrico Weigelt, metux IT consult
2020-12-18 14:57   ` Enrico Weigelt, metux IT consult
2020-12-18 14:57   ` Enrico Weigelt, metux IT consult
2020-12-18 14:57   ` Enrico Weigelt, metux IT consult

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201218143122.19459-15-info@metux.net \
    --to=info@metux.net \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=bgolaszewski@baylibre.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=davem@davemloft.net \
    --cc=deller@gmx.de \
    --cc=geert@linux-m68k.org \
    --cc=gerg@linux-m68k.org \
    --cc=hpa@zytor.com \
    --cc=jacquiot.aurelien@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-c6x-dev@linux-c6x.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=msalter@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=paulus@samba.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony@atomide.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.