aa0dd19abe684059d0595f343395183b864157d2 |
|
15-Dec-2016 |
Yabin Cui <yabinc@google.com> |
simpleperf: use per process maps. Originally we use per thread maps, and copy the maps from parent thread when processing ForkRecord. But there are situations that ForkRecords are lost, then the new thread is left having no maps, which leads to unknown dso/symbols. To fix this, we can use per process maps. Even if ForkRecords are lost, we know which process a SampleRecord belongs to, and can use the process maps. This is reasonable because in most cases, new threads in the same thread group are created with both CLONE_THREAD and CLONE_VM. Bug: http://b/33503165 Test: run simpleperf_unit_test. Change-Id: If84b6cdac39cd6ad4e441ed6d75ed879b86d1830
/system/extras/simpleperf/dwarf_unwind.cpp
|
417df291499b37f63fa9b930e081d80a25bf38ec |
|
16-Nov-2016 |
Yabin Cui <yabinc@google.com> |
simpleperf: fix dumping arm regs on arm64 devices. On arm64 devices, the kernel dumps arm64 regs even for 32-bit processes. So we need to map from arm64 registers to arm registers. Bug: http://b/30974693 Test: run simpleperf manually on one app. Change-Id: Iffeac9510b418b5dabc0604c16523887d63bba49
/system/extras/simpleperf/dwarf_unwind.cpp
|
8ce6814573e40d318a74681271bc82d0fb9a431c |
|
05-Aug-2016 |
Yabin Cui <yabinc@google.com> |
simpleperf: fix arm unwinding. Change-Id: Ie611504a7e5062c25466b59ebdcf8c33b51bf90c Test: run simpleperf_unit_test.
/system/extras/simpleperf/dwarf_unwind.cpp
|
cf31e9d83d3fff0c0970aa344366136e4d5126a7 |
|
14-Jul-2016 |
Yabin Cui <yabinc@google.com> |
simpleperf: fix unwind stack size. Currently, to work around the bug in N9, simpleperf uses all dumped user stack for unwinding. However, not all of the data is valid, which can make unwinding result annoying. So fix this by using only valid stack data if dyn_size != 0. Bug: 29574526 Test: run simpleperf_unit_test and use simpleperf manually. Change-Id: Idaa82f3156215fc4fb902d96de290e43726b0e17
/system/extras/simpleperf/dwarf_unwind.cpp
|
eec606cfefcb8cb20ac0f9e3465daff09fb31ffd |
|
07-Jul-2016 |
Yabin Cui <yabinc@google.com> |
simpleperf: fix build id check of files in symfs. In dso.cpp, build_id_map_ should use path_ instead of GetAccessiblePath() as the key. However, patch https://android-review.googlesource.com/#/c/175654/ wrongly used GetAccessiblePath() as the key in build_id_map_. This patch fixes the error and add corresponding test. Check if file in symfs exists before using it as debug file path. If the build id of debug file path doesn't match the one in build_id_map_, output warning to user. Bug: 28911532 Test: run simpleperf_unit_test. Change-Id: I21bca508359a492245db4cba5d287005363cd465
/system/extras/simpleperf/dwarf_unwind.cpp
|
2019e836c606219397a70076d569184f84def905 |
|
18-May-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix misc-macro-parentheses warnings in simpleperf. Bug: 28705665 Change-Id: I0521602cbca7eb3d2e242771da697dfab3fc727f
/system/extras/simpleperf/dwarf_unwind.cpp
|
4b6720d137c15b9485318255e89ffcd3c76ab579 |
|
31-Mar-2016 |
Yabin Cui <yabinc@google.com> |
simpleperf: loosen unwinding arch check for system wide collection. When doing system wide collection, it is possible that there are 32-bit compat processes running on 64-bit devices. It is not proper to abort in this situation. So loosen the check to allow it. Also add corresponding test. Bug: 27927427 Change-Id: I5c9253eb6e474497e4f37e234e0e523e141fab20
/system/extras/simpleperf/dwarf_unwind.cpp
|
257d5e69967941de7c5516a476397450063b8c3d |
|
31-Mar-2016 |
Yabin Cui <yabinc@google.com> |
simpleperf: don't allow 64bit simpleperf unwinding 32bit processes. Bug: 27927427 Change-Id: I87abc7f8d1f160da4366ed04db054206403bc803
/system/extras/simpleperf/dwarf_unwind.cpp
|
48460892306fbc232d7623b1aa5be1aefdc1a8a7 |
|
18-Mar-2016 |
Yabin Cui <yabinc@google.com> |
Simpleperf: remove dependency on global current_arch. When running unit tests on arm64 devices: [OK] ReportCommandTest.dwarf_callgraph [OK] record_cmd.dwarf_callchain_sampling. ERROR: can't unwind data recorded on a different architecture. It is because ReportCommandtest.dwarf_callgraph opens a perf.data recorded on x86_64, and changes current_arch. It causes a problem when the test record_cmd.dwarf_callchain_sampling calls libbacktrace built on aarch64. Athough it doesn't make the test fail, we should fix this. Change-Id: I2cd70369a769ef2199cab2302b8b824369be0907
/system/extras/simpleperf/dwarf_unwind.cpp
|
66dd09e8e2407082ce93bf0784de641298131912 |
|
04-Dec-2015 |
Elliott Hughes <enh@google.com> |
Track rename from base/ to android-base/. Change-Id: Ic15d4778c7accd1382de0b440a437aba2cf67016
/system/extras/simpleperf/dwarf_unwind.cpp
|
8a52e97bfd6e2c59ef48fedb277168a7bfbeec46 |
|
01-Oct-2015 |
Yabin Cui <yabinc@google.com> |
Simpleperf: warn if it can't read kernel symbols addresses. And a little format adjustment. Bug: 24404256 Change-Id: Ie8dcd37138a693df18101d415e6e3243f4963582
/system/extras/simpleperf/dwarf_unwind.cpp
|
3c8c21345478816dd0c70c096090b564c91bd9d2 |
|
14-Aug-2015 |
Yabin Cui <yabinc@google.com> |
Simpleperf: support dwarf callgraph in report command. Use libbacktrace for stack unwinding. Bug: 22229391 Change-Id: Iab35cdb52936c65c4728e23423ded83050f1db76
/system/extras/simpleperf/dwarf_unwind.cpp
|