[PATCH] genirq: Force interrupt thread on RT

From: Sebastian Andrzej Siewior
Date: Fri Aug 16 2019 - 12:09:31 EST


From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Force threaded_irqs and optimize the code (force_irqthreads) in regard
to this.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
include/linux/interrupt.h | 4 ++++
kernel/irq/manage.c | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)

--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -473,7 +473,11 @@ extern int irq_set_irqchip_state(unsigne
bool state);

#ifdef CONFIG_IRQ_FORCED_THREADING
+# ifdef CONFIG_PREEMPT_RT
+# define force_irqthreads (true)
+# else
extern bool force_irqthreads;
+# endif
#else
#define force_irqthreads (0)
#endif
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -23,7 +23,7 @@

#include "internals.h"

-#ifdef CONFIG_IRQ_FORCED_THREADING
+#if defined(CONFIG_IRQ_FORCED_THREADING) && !defined(CONFIG_PREEMPT_RT)
__read_mostly bool force_irqthreads;
EXPORT_SYMBOL_GPL(force_irqthreads);