summaryrefslogtreecommitdiff
path: root/tools/perf/util/unwind-libunwind.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2014-11-22 14:32:08 (GMT)
committerTejun Heo <tj@kernel.org>2014-11-22 14:32:08 (GMT)
commitcceb9bd63373061ad7b75c321808a2fb11c86545 (patch)
treea70d939eabed2e19538707402441644dfc26990e /tools/perf/util/unwind-libunwind.c
parent56e4dea81a55c338eede625f715c7fa21f1a28c4 (diff)
parent8a84e01e147f44111988f9d8ccd2eaa30215a0f2 (diff)
downloadlinux-cceb9bd63373061ad7b75c321808a2fb11c86545.tar.xz
Merge branch 'master' into for-3.19
Pull in to receive 54ef6df3f3f1 ("rcu: Provide counterpart to rcu_dereference() for non-RCU situations"). Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/perf/util/unwind-libunwind.c')
-rw-r--r--tools/perf/util/unwind-libunwind.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/perf/util/unwind-libunwind.c b/tools/perf/util/unwind-libunwind.c
index e060386..4d45c0d 100644
--- a/tools/perf/util/unwind-libunwind.c
+++ b/tools/perf/util/unwind-libunwind.c
@@ -539,11 +539,23 @@ int unwind__prepare_access(struct thread *thread)
return -ENOMEM;
}
+ unw_set_caching_policy(addr_space, UNW_CACHE_GLOBAL);
thread__set_priv(thread, addr_space);
return 0;
}
+void unwind__flush_access(struct thread *thread)
+{
+ unw_addr_space_t addr_space;
+
+ if (callchain_param.record_mode != CALLCHAIN_DWARF)
+ return;
+
+ addr_space = thread__priv(thread);
+ unw_flush_cache(addr_space, 0, 0);
+}
+
void unwind__finish_access(struct thread *thread)
{
unw_addr_space_t addr_space;