summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0223-softirq-Disable-softirq-stacks-for-RT.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/0223-softirq-Disable-softirq-stacks-for-RT.patch')
-rw-r--r--debian/patches-rt/0223-softirq-Disable-softirq-stacks-for-RT.patch168
1 files changed, 0 insertions, 168 deletions
diff --git a/debian/patches-rt/0223-softirq-Disable-softirq-stacks-for-RT.patch b/debian/patches-rt/0223-softirq-Disable-softirq-stacks-for-RT.patch
deleted file mode 100644
index 78df4b73e..000000000
--- a/debian/patches-rt/0223-softirq-Disable-softirq-stacks-for-RT.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From 32619a9db436ba2bd525bab289356a2c85668c7e Mon Sep 17 00:00:00 2001
-From: Thomas Gleixner <tglx@linutronix.de>
-Date: Mon, 18 Jul 2011 13:59:17 +0200
-Subject: [PATCH 223/296] softirq: Disable softirq stacks for RT
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.35-rt39.tar.xz
-
-Disable extra stacks for softirqs. We want to preempt softirqs and
-having them on special IRQ-stack does not make this easier.
-
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
----
- arch/powerpc/kernel/irq.c | 2 ++
- arch/powerpc/kernel/misc_32.S | 2 ++
- arch/powerpc/kernel/misc_64.S | 2 ++
- arch/sh/kernel/irq.c | 2 ++
- arch/sparc/kernel/irq_64.c | 2 ++
- arch/x86/kernel/irq_32.c | 2 ++
- arch/x86/kernel/irq_64.c | 2 ++
- include/linux/interrupt.h | 2 +-
- 8 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
-index e8a548447dd6..5ad4f27cba10 100644
---- a/arch/powerpc/kernel/irq.c
-+++ b/arch/powerpc/kernel/irq.c
-@@ -753,10 +753,12 @@ void *mcheckirq_ctx[NR_CPUS] __read_mostly;
- void *softirq_ctx[NR_CPUS] __read_mostly;
- void *hardirq_ctx[NR_CPUS] __read_mostly;
-
-+#ifndef CONFIG_PREEMPT_RT
- void do_softirq_own_stack(void)
- {
- call_do_softirq(softirq_ctx[smp_processor_id()]);
- }
-+#endif
-
- irq_hw_number_t virq_to_hw(unsigned int virq)
- {
-diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
-index 717e658b90fd..08ee95ad6593 100644
---- a/arch/powerpc/kernel/misc_32.S
-+++ b/arch/powerpc/kernel/misc_32.S
-@@ -31,6 +31,7 @@
- * We store the saved ksp_limit in the unused part
- * of the STACK_FRAME_OVERHEAD
- */
-+#ifndef CONFIG_PREEMPT_RT
- _GLOBAL(call_do_softirq)
- mflr r0
- stw r0,4(r1)
-@@ -46,6 +47,7 @@ _GLOBAL(call_do_softirq)
- stw r10,THREAD+KSP_LIMIT(r2)
- mtlr r0
- blr
-+#endif
-
- /*
- * void call_do_irq(struct pt_regs *regs, void *sp);
-diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
-index 070465825c21..a6b33f7b3264 100644
---- a/arch/powerpc/kernel/misc_64.S
-+++ b/arch/powerpc/kernel/misc_64.S
-@@ -27,6 +27,7 @@
-
- .text
-
-+#ifndef CONFIG_PREEMPT_RT
- _GLOBAL(call_do_softirq)
- mflr r0
- std r0,16(r1)
-@@ -37,6 +38,7 @@ _GLOBAL(call_do_softirq)
- ld r0,16(r1)
- mtlr r0
- blr
-+#endif
-
- _GLOBAL(call_do_irq)
- mflr r0
-diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
-index ab5f790b0cd2..5db7af565dec 100644
---- a/arch/sh/kernel/irq.c
-+++ b/arch/sh/kernel/irq.c
-@@ -148,6 +148,7 @@ void irq_ctx_exit(int cpu)
- hardirq_ctx[cpu] = NULL;
- }
-
-+#ifndef CONFIG_PREEMPT_RT
- void do_softirq_own_stack(void)
- {
- struct thread_info *curctx;
-@@ -175,6 +176,7 @@ void do_softirq_own_stack(void)
- "r5", "r6", "r7", "r8", "r9", "r15", "t", "pr"
- );
- }
-+#endif
- #else
- static inline void handle_one_irq(unsigned int irq)
- {
-diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c
-index 3ec9f1402aad..eb21682abfcb 100644
---- a/arch/sparc/kernel/irq_64.c
-+++ b/arch/sparc/kernel/irq_64.c
-@@ -854,6 +854,7 @@ void __irq_entry handler_irq(int pil, struct pt_regs *regs)
- set_irq_regs(old_regs);
- }
-
-+#ifndef CONFIG_PREEMPT_RT
- void do_softirq_own_stack(void)
- {
- void *orig_sp, *sp = softirq_stack[smp_processor_id()];
-@@ -868,6 +869,7 @@ void do_softirq_own_stack(void)
- __asm__ __volatile__("mov %0, %%sp"
- : : "r" (orig_sp));
- }
-+#endif
-
- #ifdef CONFIG_HOTPLUG_CPU
- void fixup_irqs(void)
-diff --git a/arch/x86/kernel/irq_32.c b/arch/x86/kernel/irq_32.c
-index 0b79efc87be5..93c6b88b382a 100644
---- a/arch/x86/kernel/irq_32.c
-+++ b/arch/x86/kernel/irq_32.c
-@@ -131,6 +131,7 @@ int irq_init_percpu_irqstack(unsigned int cpu)
- return 0;
- }
-
-+#ifndef CONFIG_PREEMPT_RT
- void do_softirq_own_stack(void)
- {
- struct irq_stack *irqstk;
-@@ -147,6 +148,7 @@ void do_softirq_own_stack(void)
-
- call_on_stack(__do_softirq, isp);
- }
-+#endif
-
- void __handle_irq(struct irq_desc *desc, struct pt_regs *regs)
- {
-diff --git a/arch/x86/kernel/irq_64.c b/arch/x86/kernel/irq_64.c
-index 440eed558558..7cfc4e6b7c94 100644
---- a/arch/x86/kernel/irq_64.c
-+++ b/arch/x86/kernel/irq_64.c
-@@ -72,7 +72,9 @@ int irq_init_percpu_irqstack(unsigned int cpu)
- return map_irq_stack(cpu);
- }
-
-+#ifndef CONFIG_PREEMPT_RT
- void do_softirq_own_stack(void)
- {
- run_on_irqstack_cond(__do_softirq, NULL);
- }
-+#endif
-diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
-index e58f9b0650d3..7545a2f18560 100644
---- a/include/linux/interrupt.h
-+++ b/include/linux/interrupt.h
-@@ -560,7 +560,7 @@ struct softirq_action
- asmlinkage void do_softirq(void);
- asmlinkage void __do_softirq(void);
-
--#ifdef __ARCH_HAS_DO_SOFTIRQ
-+#if defined(__ARCH_HAS_DO_SOFTIRQ) && !defined(CONFIG_PREEMPT_RT)
- void do_softirq_own_stack(void);
- #else
- static inline void do_softirq_own_stack(void)
---
-2.30.2
-