The rcu_qs is disabling IRQs by self so no need to do the same in raise_softirq but instead we can save some cycles using raise_softirq_irqoff directly.
CC: Paul E. McKenney <paul...@linux.ibm.com> Signed-off-by: Cyrill Gorcunov <gorcu...@gmail.com> --- The prev patch body has been screwed, sorry. kernel/rcu/tiny.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-next.git/kernel/rcu/tiny.c =================================================================== --- linux-next.git.orig/kernel/rcu/tiny.c +++ linux-next.git/kernel/rcu/tiny.c @@ -65,7 +65,7 @@ void rcu_qs(void) local_irq_save(flags); if (rcu_ctrlblk.donetail != rcu_ctrlblk.curtail) { rcu_ctrlblk.donetail = rcu_ctrlblk.curtail; - raise_softirq(RCU_SOFTIRQ); + raise_softirq_irqoff(RCU_SOFTIRQ); } local_irq_restore(flags); }