[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210204211155.305801067@linutronix.de>
Date: Thu, 04 Feb 2021 21:49:15 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: x86@...nel.org, Josh Poimboeuf <jpoimboe@...hat.com>,
Kees Cook <keescook@...omium.org>
Subject: [patch 12/12] 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@...utronix.de>
---
arch/x86/include/asm/irq.h | 3 +++
arch/x86/include/asm/irq_stack.h | 3 +--
arch/x86/kernel/irq_64.c | 5 -----
3 files changed, 4 insertions(+), 7 deletions(-)
--- a/arch/x86/include/asm/irq.h
+++ b/arch/x86/include/asm/irq.h
@@ -26,6 +26,9 @@ static inline int irq_canonicalize(int i
extern int irq_init_percpu_irqstack(unsigned int cpu);
#define __ARCH_HAS_DO_SOFTIRQ
+#ifdef CONFIG_X86_64
+#define __ARCH_HAS_DO_SOFTIRQ_INLINE
+#endif
struct irq_desc;
--- a/arch/x86/include/asm/irq_stack.h
+++ b/arch/x86/include/asm/irq_stack.h
@@ -200,7 +200,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); \
@@ -208,7 +208,6 @@
}
#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_64.c
+++ b/arch/x86/kernel/irq_64.c
@@ -73,8 +73,3 @@ int irq_init_percpu_irqstack(unsigned in
return 0;
return map_irq_stack(cpu);
}
-
-void do_softirq_own_stack(void)
-{
- run_softirq_on_irqstack();
-}
Powered by blists - more mailing lists