aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary S. Robertson <gary.robertson@linaro.org>2015-07-17 18:33:16 -0500
committerGary S. Robertson <gary.robertson@linaro.org>2015-07-17 19:23:26 -0500
commitf2c17dabda24ce83502f83173abff0ce03ca137b (patch)
tree0522d7b12cd801891fe139bfe840111feb661ac8
parentaf4ef230051d87f0c4ae87d6fc9b497ffd6ae257 (diff)
Revert "Make ISR threading a compile-time-only option"linux-lng-3.14.44-2015.07linux-linaro-lng-v3.14
This reverts commit 662a35711031ba969fe53c5a8a1e224b64565bd9. NO_HZ_FULL isolation cannot be maintained when using threaded interrupt handlers, so until that incompatibility is resolved LNG will not use threaded interrupt handlers by default.
-rw-r--r--include/linux/interrupt.h4
-rw-r--r--kernel/irq/manage.c11
2 files changed, 13 insertions, 2 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 85646ecf6a90..203c43d3e1b8 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -356,9 +356,9 @@ static inline int disable_irq_wake(unsigned int irq)
#ifdef CONFIG_IRQ_FORCED_THREADING
-#define force_irqthreads (true)
+extern bool force_irqthreads;
#else
-#define force_irqthreads (false)
+#define force_irqthreads (0)
#endif
#ifndef __ARCH_SET_SOFTIRQ_PENDING
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 1b7461dae5ae..ebb8a9e937fa 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -21,6 +21,17 @@
#include "internals.h"
+#ifdef CONFIG_IRQ_FORCED_THREADING
+__read_mostly bool force_irqthreads;
+
+static int __init setup_forced_irqthreads(char *arg)
+{
+ force_irqthreads = true;
+ return 0;
+}
+early_param("threadirqs", setup_forced_irqthreads);
+#endif
+
/**
* synchronize_irq - wait for pending IRQ handlers (on other CPUs)
* @irq: interrupt number to wait for