The rcu_qs is disabling IRQs by self so no need to do the same in raise_softirq,
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>
---
 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);
 }
Subject: [PATCH]

Reply via email to