irq: call __irq_enter() before calling the tick_idle_check
authorThomas Gleixner <tglx@linutronix.de>
Fri, 7 Nov 2008 10:06:00 +0000 (11:06 +0100)
committerThomas Gleixner <tglx@apollo.(none)>
Mon, 10 Nov 2008 21:36:39 +0000 (22:36 +0100)
commitee5f80a993539490a07477ff2526bf62c503fbb4
tree4c23450fb35f9dfdb491506a3864647aae7e8e78
parent5ceb1a04187553e08c6ab60d30cee7c454ee139a
irq: call __irq_enter() before calling the tick_idle_check

Impact: avoid spurious ksoftirqd wakeups

The tick idle check which is called from irq_enter() was run before
the call to __irq_enter() which did not set the in_interrupt() bits in
preempt_count. That way the raise of a softirq woke up softirqd for
nothing as the softirq was handled on return from interrupt.

Call __irq_enter() before calling into the tick idle check code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/softirq.c