diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2021-02-10 00:40:54 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2021-02-10 23:34:17 +0100 |
commit | 72f40a2823d6e16229ab58b898c6f22044e5222f (patch) | |
tree | 5f1967e5f6621f4317c57aff4b58aca16b8ba670 /arch | |
parent | db1cc7aede37eb9235759131ddfefd9c0ea5136f (diff) |
x86/softirq/64: Inline do_softirq_own_stack()
There is no reason to have this as a seperate function for a single caller.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210210002513.382806685@linutronix.de
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/include/asm/irq_stack.h | 3 | ||||
-rw-r--r-- | arch/x86/include/asm/softirq_stack.h | 11 | ||||
-rw-r--r-- | arch/x86/kernel/irq_64.c | 5 |
3 files changed, 12 insertions, 7 deletions
diff --git a/arch/x86/include/asm/irq_stack.h b/arch/x86/include/asm/irq_stack.h index 1b82f9230709..9b2a0ff76c73 100644 --- a/arch/x86/include/asm/irq_stack.h +++ b/arch/x86/include/asm/irq_stack.h @@ -194,7 +194,7 @@ * interrupts are pending to be processed. The interrupt stack cannot be in * use here. */ -#define run_softirq_on_irqstack() \ +#define do_softirq_own_stack() \ { \ __this_cpu_write(hardirq_stack_inuse, true); \ call_on_irqstack(__do_softirq, ASM_CALL_SOFTIRQ); \ @@ -202,7 +202,6 @@ } #else /* CONFIG_X86_64 */ - /* System vector handlers always run on the stack they interrupted. */ #define run_sysvec_on_irqstack_cond(func, regs) \ { \ diff --git a/arch/x86/include/asm/softirq_stack.h b/arch/x86/include/asm/softirq_stack.h new file mode 100644 index 000000000000..889d53d6a0e1 --- /dev/null +++ b/arch/x86/include/asm/softirq_stack.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _ASM_X86_SOFTIRQ_STACK_H +#define _ASM_X86_SOFTIRQ_STACK_H + +#ifdef CONFIG_X86_64 +# include <asm/irq_stack.h> +#else +# include <asm-generic/softirq_stack.h> +#endif + +#endif diff --git a/arch/x86/kernel/irq_64.c b/arch/x86/kernel/irq_64.c index f335c3910834..1c0fb96b9e39 100644 --- a/arch/x86/kernel/irq_64.c +++ b/arch/x86/kernel/irq_64.c @@ -74,8 +74,3 @@ int irq_init_percpu_irqstack(unsigned int cpu) return 0; return map_irq_stack(cpu); } - -void do_softirq_own_stack(void) -{ - run_softirq_on_irqstack(); -} |