diff options
Diffstat (limited to 'patches/x86-softirq-Disable-softirq-stacks-on-PREEMPT_RT.patch')
-rw-r--r-- | patches/x86-softirq-Disable-softirq-stacks-on-PREEMPT_RT.patch | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/patches/x86-softirq-Disable-softirq-stacks-on-PREEMPT_RT.patch b/patches/x86-softirq-Disable-softirq-stacks-on-PREEMPT_RT.patch deleted file mode 100644 index ec820816ec96..000000000000 --- a/patches/x86-softirq-Disable-softirq-stacks-on-PREEMPT_RT.patch +++ /dev/null @@ -1,57 +0,0 @@ -From: Thomas Gleixner <tglx@linutronix.de> -Subject: x86/softirq: Disable softirq stacks on PREEMPT_RT -Date: Fri, 24 Sep 2021 18:12:45 +0200 - -PREEMPT_RT preempts softirqs and the current implementation avoids -do_softirq_own_stack() and only uses __do_softirq(). - -Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and -ensure that do_softirq_own_stack() is not used which is not expected. - -[bigeasy: commit description.] - -Signed-off-by: Thomas Gleixner <tglx@linutronix.de> -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> -Link: https://lore.kernel.org/r/20210924161245.2357247-1-bigeasy@linutronix.de ---- - arch/x86/include/asm/irq_stack.h | 3 +++ - arch/x86/kernel/irq_32.c | 2 ++ - 2 files changed, 5 insertions(+) - ---- a/arch/x86/include/asm/irq_stack.h -+++ b/arch/x86/include/asm/irq_stack.h -@@ -185,6 +185,7 @@ - IRQ_CONSTRAINTS, regs, vector); \ - } - -+#ifndef CONFIG_PREEMPT_RT - #define ASM_CALL_SOFTIRQ \ - "call %P[__func] \n" - -@@ -201,6 +202,8 @@ - __this_cpu_write(hardirq_stack_inuse, false); \ - } - -+#endif -+ - #else /* CONFIG_X86_64 */ - /* System vector handlers always run on the stack they interrupted. */ - #define run_sysvec_on_irqstack_cond(func, regs) \ ---- a/arch/x86/kernel/irq_32.c -+++ b/arch/x86/kernel/irq_32.c -@@ -132,6 +132,7 @@ int irq_init_percpu_irqstack(unsigned in - return 0; - } - -+#ifndef CONFIG_PREEMPT_RT - void do_softirq_own_stack(void) - { - struct irq_stack *irqstk; -@@ -148,6 +149,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) - { |