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 <tglx@linutronix.de> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Linus Torvalds <torvalds@linuxfoundation.org> Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1302202155320.22263@ionos
This commit is contained in:
parent
74eed0163d
commit
facd8b80c6
1 changed files with 2 additions and 10 deletions
|
@ -322,18 +322,10 @@ void irq_enter(void)
|
||||||
|
|
||||||
static inline void invoke_softirq(void)
|
static inline void invoke_softirq(void)
|
||||||
{
|
{
|
||||||
if (!force_irqthreads) {
|
if (!force_irqthreads)
|
||||||
#ifdef __ARCH_IRQ_EXIT_IRQS_DISABLED
|
|
||||||
__do_softirq();
|
__do_softirq();
|
||||||
#else
|
else
|
||||||
do_softirq();
|
|
||||||
#endif
|
|
||||||
} else {
|
|
||||||
__local_bh_disable((unsigned long)__builtin_return_address(0),
|
|
||||||
SOFTIRQ_OFFSET);
|
|
||||||
wakeup_softirqd();
|
wakeup_softirqd();
|
||||||
__local_bh_enable(SOFTIRQ_OFFSET);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue