[patch 11/12] softirq: Allow inlining do_softirq_own_stack()

Thomas Gleixner
2021-02-05T01:04:35Z

The function to switch to the irq stack on x86 is now minimal and there is
only a single caller. Allow the stack switch to be inlined.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
include/linux/interrupt.h | 2 ++
kernel/softirq.c | 4 ++++
2 files changed, 6 insertions(+)

--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -570,7 +570,9 @@ asmlinkage void do_softirq(void);
asmlinkage void __do_softirq(void);

#ifdef __ARCH_HAS_DO_SOFTIRQ
+# ifndef __ARCH_HAS_DO_SOFTIRQ_INLINE
void do_softirq_own_stack(void);
+# endif
#else
static inline void do_softirq_own_stack(void)
{
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -26,6 +26,10 @@
#include <linux/tick.h>
#include <linux/irq.h>

+#ifdef __ARCH_HAS_DO_SOFTIRQ_INLINE
+# include <asm/irq_stack.h>
+#endif
+
#define CREATE_TRACE_POINTS
#include <trace/events/irq.h>