diff options
author | Cyrill Gorcunov <gorcunov@gmail.com> | 2019-01-24 13:14:37 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.ibm.com> | 2019-03-26 17:37:49 -0400 |
commit | 18d7e40679ef574e428f893101be1c0035e95ee3 (patch) | |
tree | bf75bb044a0e0b708294a3f1b4253b65a022ff03 /kernel/rcu | |
parent | 671a63517cf983ad8eaa324167165cef245ab744 (diff) |
rcu: rcu_qs -- Use raise_softirq_irqoff to not save irqs twice
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 <paulmck@linux.ibm.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Diffstat (limited to 'kernel/rcu')
-rw-r--r-- | kernel/rcu/tiny.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c index 911bd9076d43..477b4eb44af5 100644 --- a/kernel/rcu/tiny.c +++ b/kernel/rcu/tiny.c | |||
@@ -52,7 +52,7 @@ void rcu_qs(void) | |||
52 | local_irq_save(flags); | 52 | local_irq_save(flags); |
53 | if (rcu_ctrlblk.donetail != rcu_ctrlblk.curtail) { | 53 | if (rcu_ctrlblk.donetail != rcu_ctrlblk.curtail) { |
54 | rcu_ctrlblk.donetail = rcu_ctrlblk.curtail; | 54 | rcu_ctrlblk.donetail = rcu_ctrlblk.curtail; |
55 | raise_softirq(RCU_SOFTIRQ); | 55 | raise_softirq_irqoff(RCU_SOFTIRQ); |
56 | } | 56 | } |
57 | local_irq_restore(flags); | 57 | local_irq_restore(flags); |
58 | } | 58 | } |