summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2017-04-07 12:40:49 -0400
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2017-04-10 15:22:17 -0400
commitd54b6eeb553c89ed8d4c5a2ed73df374a45b9562 (patch)
tree26ee9aadd39cb4f25fbd7f41e1adab23a51ccd35 /sound
parent03ecd3f48e57f2e6154584e0ee7450d7a05e2d3b (diff)
downloadlinux-d54b6eeb553c89ed8d4c5a2ed73df374a45b9562.tar.gz
linux-d54b6eeb553c89ed8d4c5a2ed73df374a45b9562.tar.bz2
linux-d54b6eeb553c89ed8d4c5a2ed73df374a45b9562.zip
tracing: Make sure rcu_irq_enter() can work for trace_*_rcuidle() trace events
Stack tracing discovered that there's a small location inside the RCU infrastructure where calling rcu_irq_enter() does not work. As trace events use rcu_irq_enter() it must make sure that it is functionable. A check against rcu_irq_enter_disabled() is added with a WARN_ON_ONCE() as no trace event should ever be used in that part of RCU. If the warning is triggered, then the trace event is ignored. Restructure the __DO_TRACE() a bit to get rid of the prercu and postrcu, and just have an rcucheck that does the work from within the _DO_TRACE() macro. gcc optimization will compile out the rcucheck=0 case. Link: http://lkml.kernel.org/r/20170405093207.404f8deb@gandalf.local.home Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'sound')
0 files changed, 0 insertions, 0 deletions