summaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2013-03-13 12:42:58 -0400
committerSteven Rostedt <rostedt@goodmis.org>2013-03-15 00:36:03 -0400
commit7818b3886545f89549185e4023743e2df91d1fa1 (patch)
tree1037f3bb76e18594a9267d27afc27bbdf02b8e65 /include/trace
parente67efb93f0e9130174293ffaa5975f87b301b531 (diff)
downloadtalos-obmc-linux-7818b3886545f89549185e4023743e2df91d1fa1.tar.gz
talos-obmc-linux-7818b3886545f89549185e4023743e2df91d1fa1.zip
ftrace: Use manual free after synchronize_sched() not call_rcu_sched()
The entries to the probe hash must be freed after a synchronize_sched() after the entry has been removed from the hash. As the entries are registered with ops that may have their own callbacks, and these callbacks may sleep, we can not use call_rcu_sched() because the rcu callbacks registered with that are called from a softirq context. Instead of using call_rcu_sched(), manually save the entries on a free_list and at the end of the loop that removes the entries, do a synchronize_sched() and then go through the free_list, freeing the entries. Cc: Paul McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/trace')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud