]> git.baikalelectronics.ru Git - kernel.git/commit
rcu: Don't redundantly disable irqs in rcu_irq_{enter,exit}()
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sat, 31 Oct 2015 07:59:01 +0000 (00:59 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 8 Dec 2015 01:01:31 +0000 (17:01 -0800)
commit324862b6f3fddf1b1ca3c90f96e933946b975f3b
tree1155e2ed10709b9d3efa87b2f4b826cc886e84eb
parent128ac0c830460e8784b862e29b5b005f7ae4ed1c
rcu: Don't redundantly disable irqs in rcu_irq_{enter,exit}()

This commit replaces a local_irq_save()/local_irq_restore() pair with
a lockdep assertion that interrupts are already disabled.  This should
remove the corresponding overhead from the interrupt entry/exit fastpaths.

This change was inspired by the fact that Iftekhar Ahmed's mutation
testing showed that removing rcu_irq_enter()'s call to local_ird_restore()
had no effect, which might indicate that interrupts were always enabled
anyway.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
include/linux/rcupdate.h
include/linux/rcutiny.h
include/linux/rcutree.h
include/linux/tracepoint.h
kernel/rcu/tree.c