summaryrefslogtreecommitdiffstats
path: root/lib/average.c
diff options
context:
space:
mode:
authorMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>2013-05-09 07:44:21 +0200
committerSteven Rostedt <rostedt@goodmis.org>2013-05-10 02:11:48 +0200
commit3f2367ba7cbf13ec0f3f1e93b833a7eacd1ab4b8 (patch)
tree81bac89b0b20458cb8505a3bdef4b9189ff4057e /lib/average.c
parentftrace, kprobes: Fix a deadlock on ftrace_regex_lock (diff)
downloadlinux-3f2367ba7cbf13ec0f3f1e93b833a7eacd1ab4b8.tar.xz
linux-3f2367ba7cbf13ec0f3f1e93b833a7eacd1ab4b8.zip
ftrace: Cleanup regex_lock and ftrace_lock around hash updating
Cleanup regex_lock and ftrace_lock locking points around ftrace_ops hash update code. The new rule is that regex_lock protects ops->*_hash read-update-write code for each ftrace_ops. Usually, hash update is done by following sequence. 1. allocate a new local hash and copy the original hash. 2. update the local hash. 3. move(actually, copy) back the local hash to ftrace_ops. 4. update ftrace entries if needed. 5. release the local hash. This makes regex_lock protect #1-#4, and ftrace_lock to protect #3, #4 and adding and removing ftrace_ops from the ftrace_ops_list. The ftrace_lock protects #3 as well because the move functions update the entries too. Link: http://lkml.kernel.org/r/20130509054421.30398.83411.stgit@mhiramat-M0-7522 Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'lib/average.c')
0 files changed, 0 insertions, 0 deletions