[patch 20/46] uninline irq_enter()

Thomas Gleixner
2007-01-23T22:01:16Z

[-- Attachment #1: dynticks-uninline-irq_enter.patch --]
[-- Type: text/plain, Size: 1568 bytes --]

From: Ingo Molnar <mingo@elte.hu>

Uninline irq_enter(). [dynticks adds more stuff to it]

No functional changes.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

include/linux/hardirq.h | 7 +------
kernel/softirq.c | 10 ++++++++++
2 files changed, 11 insertions(+), 6 deletions(-)

Index: linux-2.6.20-rc4-mm1-bo/include/linux/hardirq.h
===================================================================
--- linux-2.6.20-rc4-mm1-bo.orig/include/linux/hardirq.h
+++ linux-2.6.20-rc4-mm1-bo/include/linux/hardirq.h
@@ -106,12 +106,7 @@ static inline void account_system_vtime(
* always balanced, so the interrupted value of ->hardirq_context
* will always be restored.
*/
-#define irq_enter() \
- do { \
- account_system_vtime(current); \
- add_preempt_count(HARDIRQ_OFFSET); \
- trace_hardirq_enter(); \
- } while (0)
+extern void irq_enter(void);

/*
* Exit irq context without processing softirqs:
Index: linux-2.6.20-rc4-mm1-bo/kernel/softirq.c
===================================================================
--- linux-2.6.20-rc4-mm1-bo.orig/kernel/softirq.c
+++ linux-2.6.20-rc4-mm1-bo/kernel/softirq.c
@@ -273,6 +273,16 @@ EXPORT_SYMBOL(do_softirq);

#endif

+/*
+ * Enter an interrupt context.
+ */
+void irq_enter(void)
+{
+ account_system_vtime(current);
+ add_preempt_count(HARDIRQ_OFFSET);
+ trace_hardirq_enter();
+}
+
#ifdef __ARCH_IRQ_EXIT_IRQS_DISABLED
# define invoke_softirq() __do_softirq()
#else

--