aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/pmu.h
diff options
context:
space:
mode:
authorMasami Hiramatsu <mhiramat@kernel.org>2017-10-20 08:43:39 +0900
committerIngo Molnar <mingo@kernel.org>2017-10-20 09:45:15 +0200
commita30b85df7d599f626973e9cd3056fe755bd778e0 (patch)
tree55a48cb0090bcf658c53affd7d740708e4678f43 /tools/perf/util/pmu.h
parentRevert "kprobes: Warn if optprobe handler tries to change execution path" (diff)
downloadlinux-dev-a30b85df7d599f626973e9cd3056fe755bd778e0.tar.xz
linux-dev-a30b85df7d599f626973e9cd3056fe755bd778e0.zip
kprobes: Use synchronize_rcu_tasks() for optprobe with CONFIG_PREEMPT=y
We want to wait for all potentially preempted kprobes trampoline execution to have completed. This guarantees that any freed trampoline memory is not in use by any task in the system anymore. synchronize_rcu_tasks() gives such a guarantee, so use it. Also, this guarantees to wait for all potentially preempted tasks on the instructions which will be replaced with a jump. Since this becomes a problem only when CONFIG_PREEMPT=y, enable CONFIG_TASKS_RCU=y for synchronize_rcu_tasks() in that case. Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Naveen N . Rao <naveen.n.rao@linux.vnet.ibm.com> Cc: Paul E . McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/150845661962.5443.17724352636247312231.stgit@devbox Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util/pmu.h')
0 files changed, 0 insertions, 0 deletions