aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <[email protected]>2013-02-21 18:17:42 +0100
committerThomas Gleixner <[email protected]>2013-02-21 20:52:24 +0100
commitfacd8b80c67a3cf64a467c4a2ac5fb31f2e6745b (patch)
tree5feb802348c3fe708b9ea562e5e6b3c753ad7fe6
parent74eed0163d0def3fce27228d9ccf3d36e207b286 (diff)
irq: Sanitize invoke_softirq
With the irq protection in irq_exit, we can remove the #ifdeffery and the bh_disable/enable dance in invoke_softirq() Signed-off-by: Thomas Gleixner <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Paul E. McKenney <[email protected]> Cc: Linus Torvalds <[email protected]> Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1302202155320.22263@ionos
-rw-r--r--kernel/softirq.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c
index f2a934673008..24a921bcf04f 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -322,18 +322,10 @@ void irq_enter(void)
static inline void invoke_softirq(void)
{
- if (!force_irqthreads) {
-#ifdef __ARCH_IRQ_EXIT_IRQS_DISABLED
+ if (!force_irqthreads)
__do_softirq();
-#else
- do_softirq();
-#endif
- } else {
- __local_bh_disable((unsigned long)__builtin_return_address(0),
- SOFTIRQ_OFFSET);
+ else
wakeup_softirqd();
- __local_bh_enable(SOFTIRQ_OFFSET);
- }
}
/*