[patch 12/12] x86/softirq/64: Inline do_softirq_own_stack()

Thomas Gleixner
2021-02-05T01:01:33Z

There is no reason to have this as a seperate function for a single caller.

Signed-off-by: Thomas Gleixner <tglx@linutronix.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();
-}