[patch 07/23] cleanup: uninline irq_enter() and move it into afunction

From: Thomas Gleixner
Date: Fri Sep 29 2006 - 20:11:52 EST


From: Ingo Molnar <mingo@xxxxxxx>

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

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
--
include/linux/hardirq.h | 7 +------
kernel/softirq.c | 7 +++++++
2 files changed, 8 insertions(+), 6 deletions(-)

Index: linux-2.6.18-mm2/include/linux/hardirq.h
===================================================================
--- linux-2.6.18-mm2.orig/include/linux/hardirq.h 2006-09-30 01:41:13.000000000 +0200
+++ linux-2.6.18-mm2/include/linux/hardirq.h 2006-09-30 01:41:16.000000000 +0200
@@ -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.18-mm2/kernel/softirq.c
===================================================================
--- linux-2.6.18-mm2.orig/kernel/softirq.c 2006-09-30 01:41:13.000000000 +0200
+++ linux-2.6.18-mm2/kernel/softirq.c 2006-09-30 01:41:16.000000000 +0200
@@ -279,6 +279,13 @@ EXPORT_SYMBOL(do_softirq);
# define invoke_softirq() do_softirq()
#endif

+extern void irq_enter(void)
+{
+ account_system_vtime(current);
+ add_preempt_count(HARDIRQ_OFFSET);
+ trace_hardirq_enter();
+}
+
/*
* Exit an interrupt context. Process softirqs if needed and possible:
*/

--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/