diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-10-31 03:59:01 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-12-07 20:01:31 -0500 |
commit | 7c9906ca5e582a773fff696975e312cef58a7386 (patch) | |
tree | 1155e2ed10709b9d3efa87b2f4b826cc886e84eb /include/linux/tracepoint.h | |
parent | d117c8aa1d511f76401337620b9c4ffb4c886579 (diff) |
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>
Diffstat (limited to 'include/linux/tracepoint.h')
-rw-r--r-- | include/linux/tracepoint.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h index 696a339c592c..7834a8a8bf1e 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h | |||
@@ -171,8 +171,8 @@ extern void syscall_unregfunc(void); | |||
171 | TP_PROTO(data_proto), \ | 171 | TP_PROTO(data_proto), \ |
172 | TP_ARGS(data_args), \ | 172 | TP_ARGS(data_args), \ |
173 | TP_CONDITION(cond), \ | 173 | TP_CONDITION(cond), \ |
174 | rcu_irq_enter(), \ | 174 | rcu_irq_enter_irqson(), \ |
175 | rcu_irq_exit()); \ | 175 | rcu_irq_exit_irqson()); \ |
176 | } | 176 | } |
177 | #else | 177 | #else |
178 | #define __DECLARE_TRACE_RCU(name, proto, args, cond, data_proto, data_args) | 178 | #define __DECLARE_TRACE_RCU(name, proto, args, cond, data_proto, data_args) |