From dde4b2b5f4ed275250488dabdaf282d9c6e7e2b8 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 16 Feb 2007 01:27:45 -0800 Subject: [PATCH] [PATCH] uninline irq_enter() Uninline irq_enter(). [dynticks adds more stuff to it] No functional changes. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- include/linux/hardirq.h | 7 +------ kernel/softirq.c | 10 ++++++++++ 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) * 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: 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); #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