aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2007-02-16 04:27:45 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-16 11:13:58 -0500
commitdde4b2b5f4ed275250488dabdaf282d9c6e7e2b8 (patch)
treec14b594c39cb5f64216c24440b4a54ef2db3baea
parent07190a08eef3666a8687070226c8d403c1d548b7 (diff)
[PATCH] uninline irq_enter()
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> Cc: john stultz <johnstul@us.ibm.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/linux/hardirq.h7
-rw-r--r--kernel/softirq.c10
2 files changed, 11 insertions, 6 deletions
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index 612472aaa79c..6f657d7f2d04 100644
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -106,12 +106,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
106 * always balanced, so the interrupted value of ->hardirq_context 106 * always balanced, so the interrupted value of ->hardirq_context
107 * will always be restored. 107 * will always be restored.
108 */ 108 */
109#define irq_enter() \ 109extern void irq_enter(void);
110 do { \
111 account_system_vtime(current); \
112 add_preempt_count(HARDIRQ_OFFSET); \
113 trace_hardirq_enter(); \
114 } while (0)
115 110
116/* 111/*
117 * Exit irq context without processing softirqs: 112 * Exit irq context without processing softirqs:
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 918e52df090e..14e1a14f94d2 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -273,6 +273,16 @@ EXPORT_SYMBOL(do_softirq);
273 273
274#endif 274#endif
275 275
276/*
277 * Enter an interrupt context.
278 */
279void irq_enter(void)
280{
281 account_system_vtime(current);
282 add_preempt_count(HARDIRQ_OFFSET);
283 trace_hardirq_enter();
284}
285
276#ifdef __ARCH_IRQ_EXIT_IRQS_DISABLED 286#ifdef __ARCH_IRQ_EXIT_IRQS_DISABLED
277# define invoke_softirq() __do_softirq() 287# define invoke_softirq() __do_softirq()
278#else 288#else