From 956db5b60cab8cdc9eb1876da6836cf2e3e9cb38 Mon Sep 17 00:00:00 2001 Message-Id: <956db5b60cab8cdc9eb1876da6836cf2e3e9cb38.1596234183.git.zanussi@kernel.org> In-Reply-To: <378ee68279f6a7631221f2670a9298620148690d.1596234183.git.zanussi@kernel.org> References: <378ee68279f6a7631221f2670a9298620148690d.1596234183.git.zanussi@kernel.org> From: Thomas Gleixner Date: Sun, 3 Apr 2011 11:57:29 +0200 Subject: [PATCH 071/329] genirq: Force interrupt thread on RT Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.135-rt60.tar.xz Force threaded_irqs and optimize the code (force_irqthreads) in regard to this. Signed-off-by: Thomas Gleixner --- include/linux/interrupt.h | 4 ++++ kernel/irq/manage.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index eeceac3376fc..315f852b4981 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -427,7 +427,11 @@ extern int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which, bool state); #ifdef CONFIG_IRQ_FORCED_THREADING +# ifdef CONFIG_PREEMPT_RT_BASE +# define force_irqthreads (true) +# else extern bool force_irqthreads; +# endif #else #define force_irqthreads (0) #endif diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 025fcd029f83..b57d1a2d4d79 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -24,6 +24,7 @@ #include "internals.h" #ifdef CONFIG_IRQ_FORCED_THREADING +# ifndef CONFIG_PREEMPT_RT_BASE __read_mostly bool force_irqthreads; EXPORT_SYMBOL_GPL(force_irqthreads); @@ -33,6 +34,7 @@ static int __init setup_forced_irqthreads(char *arg) return 0; } early_param("threadirqs", setup_forced_irqthreads); +# endif #endif static void __synchronize_hardirq(struct irq_desc *desc, bool sync_chip) -- 2.17.1