diff options
author | Ingo Molnar <mingo@kernel.org> | 2014-03-18 04:23:09 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-03-18 04:23:09 -0400 |
commit | 0afd2d51029961281572d02545c7bde1b3f4292c (patch) | |
tree | 73f8b07ee0b43ebd93fb0556b0af0f217f897d5c /tools/perf/util/thread.c | |
parent | 81827ed8d85e892311965dc9ec4120b2b2e745bd (diff) | |
parent | d75e6097ef1f7669deb500fbbdf53cfe524f1b53 (diff) |
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo:
User visible:
* Add several futex 'perf bench' microbenchmarks (Davidlohr Bueso)
* Speed up thread map generation (Don Zickus)
* Fix synthesizing mmaps for threads (Don Zickus)
* Fix invalid output on event group stdio report (Namhyung Kim)
* Introduce 'perf kvm --list-cmds' command line option for use by
scripts (Ramkumar Ramachandra)
Documentation:
* Clarify load-latency information in the 'perf mem' docs (Andi Kleen)
* Clarify x86 register naming in 'perf probe' docs (Andi Kleen)
Refactorings:
* hists browser refactorings to reuse code accross UIs (Namhyung Kim)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util/thread.c')
-rw-r--r-- | tools/perf/util/thread.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c index 0358882c8910..3ce0498bdae6 100644 --- a/tools/perf/util/thread.c +++ b/tools/perf/util/thread.c | |||
@@ -142,3 +142,24 @@ int thread__fork(struct thread *thread, struct thread *parent, u64 timestamp) | |||
142 | 142 | ||
143 | return 0; | 143 | return 0; |
144 | } | 144 | } |
145 | |||
146 | void thread__find_cpumode_addr_location(struct thread *thread, | ||
147 | struct machine *machine, | ||
148 | enum map_type type, u64 addr, | ||
149 | struct addr_location *al) | ||
150 | { | ||
151 | size_t i; | ||
152 | const u8 const cpumodes[] = { | ||
153 | PERF_RECORD_MISC_USER, | ||
154 | PERF_RECORD_MISC_KERNEL, | ||
155 | PERF_RECORD_MISC_GUEST_USER, | ||
156 | PERF_RECORD_MISC_GUEST_KERNEL | ||
157 | }; | ||
158 | |||
159 | for (i = 0; i < ARRAY_SIZE(cpumodes); i++) { | ||
160 | thread__find_addr_location(thread, machine, cpumodes[i], type, | ||
161 | addr, al); | ||
162 | if (al->map) | ||
163 | break; | ||
164 | } | ||
165 | } | ||